{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.linear_model import LinearRegression, Lasso, LogisticRegression, ElasticNet\n",
    "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n",
    "from sklearn.preprocessing import PolynomialFeatures, StandardScaler, RobustScaler, QuantileTransformer\n",
    "from sklearn.pipeline import Pipeline\n",
    "import scipy.special\n",
    "from dml_iv import DMLIV\n",
    "from dr_iv import DRIV, ProjectedDRIV\n",
    "from dml_ate_iv import DMLATEIV"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Synthetic Data Generation - TripAdvisor"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Used for generating data that looks similar in structure (value distributions of private features are not representative of true data) to the data used for the intent-to-treat A/B test at TripAdvisor. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import locale\n",
    "\n",
    "n = 10000  # Generated dataset size\n",
    "np.random.seed(123)\n",
    "\n",
    "X_colnames = {\n",
    "    'days_visited_exp_pre': 'day_count_pre',  # How many days did they visit TripAdvisor attractions pages in the pre-period\n",
    "    'days_visited_free_pre': 'day_count_pre',  # How many days did they visit TripAdvisor through free channels (e.g. domain direct) in the pre-period\n",
    "    'days_visited_fs_pre': 'day_count_pre',  # How many days did they visit TripAdvisor fs pages in the pre-period    \n",
    "    'days_visited_hs_pre': 'day_count_pre',  # How many days did they visit TripAdvisor hotels pages in the pre-period\n",
    "    'days_visited_rs_pre': 'day_count_pre',  # How many days did they visit TripAdvisor restaurant pages in the pre-period\n",
    "    'days_visited_vrs_pre': 'day_count_pre',  # How many days did they visit TripAdvisor vrs pages in the pre-period\n",
    "    'is_existing_member': 'binary', #Binary indicator of whether they are existing member\n",
    "    'locale_en_US': 'binary',  # User's locale\n",
    "    'os_type': 'os',  # User's operating system\n",
    "    'revenue_pre': 'revenue',  # Revenue in the pre-period\n",
    "}\n",
    "\n",
    "treat_colnames = {\n",
    "    'treatment': 'binary',  # Did they receive the easier sign-up process in the experiment? [This is the instrument]\n",
    "    'is_member': 'is_member'  # Did they become a member during the experiment period (through any means)? [This is the treatment of interest]\n",
    "}\n",
    "\n",
    "outcome_colnames = {\n",
    "    'days_visited': 'days_visited',  # How many days did they visit TripAdvisor in the experimental period\n",
    "}\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [],
   "source": [
    "def gen_data(data_type, n):\n",
    "    gen_func = {'day_count_pre': lambda: np.random.randint(0, 29 , n),  # Pre-experiment period was 28 days\n",
    "                'day_count_post': lambda: np.random.randint(0, 15, n),  # Experiment ran for 14 days\n",
    "                'os': lambda: np.random.choice(['osx', 'windows', 'linux'], n),\n",
    "                'locale': lambda: np.random.choice(list(locale.locale_alias.keys()), n),\n",
    "                'count': lambda: np.random.lognormal(1, 1, n).astype('int'),\n",
    "                'binary': lambda: np.random.binomial(1, .5, size=(n,)),\n",
    "                ##'days_visited': lambda: \n",
    "                'revenue': lambda: np.round(np.random.lognormal(0, 3, n), 2)\n",
    "                \n",
    "               }\n",
    "    \n",
    "    return gen_func[data_type]() if data_type else None\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_data = {colname: gen_data(datatype, n) for colname, datatype in X_colnames.items()}\n",
    "##treat_data = {colname: gen_data(datatype, N) for colname, datatype in treat_colnames.items()}\n",
    "##outcome_data = {colname: gen_data(datatype, N) for colname, datatype in outcome_colnames.items()}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['days_visited_exp_pre' 'days_visited_free_pre' 'days_visited_fs_pre'\n",
      " 'days_visited_hs_pre' 'days_visited_rs_pre' 'days_visited_vrs_pre'\n",
      " 'is_existing_member' 'locale_en_US' 'os_type' 'revenue_pre']\n"
     ]
    }
   ],
   "source": [
    "X_data=pd.DataFrame({**X_data})\n",
    "# Turn strings into categories for numeric mapping\n",
    "X_data['os_type'] = X_data.os_type.astype('category').cat.codes\n",
    "print(X_data.columns.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_pre=X_data.values.astype('float')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 192,
   "metadata": {},
   "outputs": [],
   "source": [
    "def dgp_binary(X,n,true_fn):\n",
    "    ##X = np.random.uniform(-1, 1, size=(n, d))\n",
    "    Z = np.random.binomial(1, .5, size=(n,))\n",
    "    nu = np.random.uniform(-5, 5, size=(n,))\n",
    "    coef_Z = 0.8\n",
    "    plt.title(\"Pr[T=1 | Z=1, X] vs Pr[T=1 | Z=0, X]\")\n",
    "    plt.scatter(X[:, 0], coef_Z*scipy.special.expit(0.4*X[:, 0] + nu))\n",
    "    plt.scatter(X[:, 0], .1*np.ones(X.shape[0]))\n",
    "    plt.show()\n",
    "    C = np.random.binomial(1, coef_Z*scipy.special.expit(0.4*X[:, 0] + nu)) # Compliers when recomended\n",
    "    C0 = np.random.binomial(1, .006*np.ones(X.shape[0])) # Non-compliers when not recommended \n",
    "    T = C * Z + C0 * (1 - Z)\n",
    "    y = true_fn(X) * T + 2*nu + 5*(X[:, 0]>0) + 0.1*np.random.uniform(0, 1, size=(n,))\n",
    "    return y, T, Z\n",
    "true_fn = lambda X: (.8+.5*(5*(X[:,0]>5) + 10*(X[:,0]>15) + 5*(X[:, 0]>20)) - 3*X[:, 6])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y, T, Z = dgp_binary(X_pre, n, true_fn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = QuantileTransformer(subsample=100000).fit_transform(X_pre)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 195,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#### y menas number of days visit TripAdvisor in the experimental period, should be in range [0,14], \n",
    "##should be strong right skewed\n",
    "plt.hist(y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True ATE: 4.244\n"
     ]
    }
   ],
   "source": [
    "print(\"True ATE: {:.3f}\".format(np.mean(true_fn(X_pre))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x144 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10, 2))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.hist(T[Z==0])\n",
    "plt.title(\"T[Z=0]\")\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.hist(T[Z==1])\n",
    "plt.title(\"T[Z=1]\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 264,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "New members: in treatment = 0.698482, in control = 0.004260\n"
     ]
    }
   ],
   "source": [
    "print(\"New members: in treatment = {:f}, in control = {:f}\".format(T[Z == 1].sum()/Z.sum(), T[Z == 0].sum()/(1-Z).sum()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 265,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Z treatment proportion: 0.50710\n"
     ]
    }
   ],
   "source": [
    "print(\"Z treatment proportion: {:.5f}\".format(np.mean(Z)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Defining some generic regressors and classifiers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 266,
   "metadata": {},
   "outputs": [],
   "source": [
    "from dml_ate_iv import DMLATEIV\n",
    "from utilities import RegWrapper, SeparateModel\n",
    "from sklearn.model_selection import GridSearchCV, StratifiedKFold, train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor\n",
    "from sklearn.dummy import DummyClassifier\n",
    "from sklearn.linear_model import LinearRegression, LogisticRegression, LogisticRegressionCV, LassoCV\n",
    "from sklearn import metrics\n",
    "from xgboost import XGBClassifier, XGBRegressor\n",
    "from xgb_utilities import XGBWrapper\n",
    "\n",
    "\n",
    "# Define a generic non-parametric regressor\n",
    "#model = lambda: GradientBoostingRegressor(n_estimators=20, max_depth=3, min_samples_leaf=20,\n",
    "#                                         n_iter_no_change=5, min_impurity_decrease=.001, tol=0.001)\n",
    "model = lambda: XGBWrapper(XGBRegressor(gamma=0.001, n_estimators=100, min_child_weight=50, n_jobs=10),\n",
    "                           early_stopping_rounds=5, eval_metric='rmse', binary=False)\n",
    "\n",
    "# model = lambda: RandomForestRegressor(n_estimators=100)\n",
    "# model = lambda: Lasso(alpha=0.0001) #CV(cv=5)\n",
    "# model = lambda: GradientBoostingRegressor(n_estimators=60)\n",
    "# model = lambda: LinearRegression(n_jobs=-1)\n",
    "# model = lambda: LassoCV(cv=5, n_jobs=-1)\n",
    "\n",
    "# Define a generic non-parametric classifier. We have to wrap it with the RegWrapper, because\n",
    "# we want to use predict_proba and not predict. The RegWrapper calls predict_proba of the\n",
    "# underlying model whenever predict is called.\n",
    "#model_clf = lambda: RegWrapper(GradientBoostingClassifier(n_estimators=20, max_depth=3, min_samples_leaf=20,\n",
    "#                                         n_iter_no_change=5, min_impurity_decrease=.001, tol=0.001))\n",
    "model_clf = lambda: RegWrapper(XGBWrapper(XGBClassifier(gamma=0.001, n_estimators=100, min_child_weight=50, n_jobs=10),\n",
    "                                          early_stopping_rounds=5, eval_metric='logloss', binary=True))\n",
    "# model_clf = lambda: RandomForestClassifier(n_estimators=100)\n",
    "# model_clf = lambda: RegWrapper(GradientBoostingClassifier(n_estimators=60))\n",
    "# model_clf = lambda: RegWrapper(LogisticRegression(C=10, penalty='l1', solver='liblinear'))\n",
    "# model_clf = lambda: RegWrapper(LogisticRegressionCV(n_jobs=-1, cv=3, scoring='neg_log_loss'))\n",
    "\n",
    "model_clf_dummy = lambda: RegWrapper(DummyClassifier(strategy='prior'))\n",
    "\n",
    "# We need to specify models to be used for each of these residualizations\n",
    "model_Y_X = lambda: model() # model for E[Y | X]\n",
    "model_T_X = lambda: model_clf() # model for E[T | X]. We use a classifier since T is binary\n",
    "model_Z_X = lambda: model_clf_dummy() # model for E[Z | X]. We use a classifier since Z is binary\n",
    "\n",
    "\n",
    "# For DMLIV we also need a model for E[T | X, Z]. We use a classifier since T is binary\n",
    "# Because Z is also binary, we could have also done a more complex model_T_XZ, where we split\n",
    "# the data based on Z=1 and Z=0 and fit a separate sub-model for each case.\n",
    "model_T_XZ = lambda: SeparateModel(model_clf(), model_clf())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 267,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_separate(X, X_pre, cate):\n",
    "    ones = X[:, 6]>.5\n",
    "    lower = []\n",
    "    upper = []\n",
    "    unique_X = np.unique(X[ones, 0])\n",
    "    for t in unique_X:\n",
    "        upper.append(np.percentile(cate[ones & (X[:, 0]==t)], 99))\n",
    "        lower.append(np.percentile(cate[ones & (X[:, 0]==t)], 1))\n",
    "    p = plt.fill_between(unique_X, lower, upper, label='est1', alpha=.5)\n",
    "    plt.plot(unique_X, lower, color=p.get_facecolor()[0], alpha=.5)\n",
    "    plt.plot(unique_X, upper, color=p.get_facecolor()[0], alpha=.5)\n",
    "    plt.scatter(X[ones, 0], true_fn(X_pre[ones]), label='true1', alpha=.8)\n",
    "    ones = X[:, 6]<.5\n",
    "    lower = []\n",
    "    upper = []\n",
    "    unique_X = np.unique(X[ones, 0])\n",
    "    for t in unique_X:\n",
    "        upper.append(np.percentile(cate[ones & (X[:, 0]==t)], 99))\n",
    "        lower.append(np.percentile(cate[ones & (X[:, 0]==t)], 1))\n",
    "    p = plt.fill_between(unique_X, lower, upper, label='est0', alpha=.5)\n",
    "    plt.plot(unique_X, lower, color=p.get_facecolor()[0], alpha=.5)\n",
    "    plt.plot(unique_X, upper, color=p.get_facecolor()[0], alpha=.5)\n",
    "    plt.scatter(X[ones, 0], true_fn(X_pre[ones]), label='true0', alpha=.8)\n",
    "    plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# DMLATEIV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 202,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<dml_ate_iv.DMLATEIV at 0x22cae297128>"
      ]
     },
     "execution_count": 202,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dmlateiv_obj = DMLATEIV(model_Y_X(), model_T_X(), model_Z_X(),\n",
    "                  n_splits=10, # n_splits determines the number of splits to be used for cross-fitting.\n",
    "                  binary_instrument=True, # a flag whether to stratify cross-fitting by instrument\n",
    "                  binary_treatment=True # a flag whether to stratify cross-fitting by treatment\n",
    "                 )\n",
    "\n",
    "dmlateiv_obj.fit(y, T, X, Z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 203,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True ATE: 4.244\n",
      "Estimate: 4.634\n",
      "ATE Estimate Interval: (4.279, 4.989)\n",
      "ATE Estimate Std: 0.181\n"
     ]
    }
   ],
   "source": [
    "ta_effect = dmlateiv_obj.effect()\n",
    "ta_effect_conf = dmlateiv_obj.normal_effect_interval(lower=2.5, upper=97.5)\n",
    "\n",
    "print(\"True ATE: {:.3f}\".format(np.mean(true_fn(X_pre))))\n",
    "print(\"Estimate: {:.3f}\".format(ta_effect))\n",
    "print(\"ATE Estimate Interval: ({:.3f}, {:.3f})\".format(ta_effect_conf[0], ta_effect_conf[1]))\n",
    "print(\"ATE Estimate Std: {:.3f}\".format(dmlateiv_obj.std))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exogenous Treatment Approaches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 204,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th> <td>   0.193</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.193</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>   2390.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 04 Jun 2019</td> <th>  Prob (F-statistic):</th>  <td>  0.00</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>08:38:24</td>     <th>  Log-Likelihood:    </th> <td> -32283.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td> 10000</td>      <th>  AIC:               </th> <td>6.457e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>  9998</td>      <th>  BIC:               </th> <td>6.459e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     1</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>    4.3761</td> <td>    0.076</td> <td>   57.487</td> <td> 0.000</td> <td>    4.227</td> <td>    4.525</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x1</th>    <td>    6.2350</td> <td>    0.128</td> <td>   48.891</td> <td> 0.000</td> <td>    5.985</td> <td>    6.485</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>1063.535</td> <th>  Durbin-Watson:     </th> <td>   2.015</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th>  <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td> 307.107</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>           <td> 0.072</td>  <th>  Prob(JB):          </th> <td>2.05e-67</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>       <td> 2.154</td>  <th>  Cond. No.          </th> <td>    2.42</td>\n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.193\n",
       "Model:                            OLS   Adj. R-squared:                  0.193\n",
       "Method:                 Least Squares   F-statistic:                     2390.\n",
       "Date:                Tue, 04 Jun 2019   Prob (F-statistic):               0.00\n",
       "Time:                        08:38:24   Log-Likelihood:                -32283.\n",
       "No. Observations:               10000   AIC:                         6.457e+04\n",
       "Df Residuals:                    9998   BIC:                         6.459e+04\n",
       "Df Model:                           1                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const          4.3761      0.076     57.487      0.000       4.227       4.525\n",
       "x1             6.2350      0.128     48.891      0.000       5.985       6.485\n",
       "==============================================================================\n",
       "Omnibus:                     1063.535   Durbin-Watson:                   2.015\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              307.107\n",
       "Skew:                           0.072   Prob(JB):                     2.05e-67\n",
       "Kurtosis:                       2.154   Cond. No.                         2.42\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 204,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Simply regressing y on T\n",
    "from utilities import StatsModelLinearRegression\n",
    "StatsModelLinearRegression().fit(T.reshape(-1, 1), y).summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5.634671366948534\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEICAYAAABLdt/UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzsvXl8XWd57/t9ted51DzbsizPdmJnhDQMcdMmh5RCetJDSwJpc0No6OW0t1DOKeS2oUCby23TkNICaWgDTSC3vRQOLQXSNJAEx0M8Sx5ky7bGPc/T2nu9548tCUWRYtnalrTk9f189sfea7/rXc/akn772c/7vM8jpJTo6Ojo6Kwe6pbbAB0dHR2d2qILu46Ojs4qQxd2HR0dnVWGLuw6Ojo6qwxd2HV0dHRWGbqw6+jo6KwydGHX0dHRWWXowq4zjRBiSAiRF0JkZjyeWMLrr5l1bSmEyM54fuM85/2SEOInQoi0ECIkhHhRCHHHrDHvnpzvv884duuMubOTr8+8fosQ4qdCiMKs4/+8wPv5rck5/2zW8fdPHv/qjGMPCCFOTN7DuBDie0IIx+RrzwghSrNs2D/PNXvmuI9PvYWNbxNC7Ju87qH53mMdjSGl1B/6AyklwBDw7uW2Y9IWIyCBrouMuwdIAR8C3IABeAfwN7PG/QMQBQ7NM09P9c/hTcd/Ctx3mffwW8Ap4AJgmHH8X4ATwFcnn78LGAO2TT4PAPcBjsnnzwCPLPCac97HPGODQAx47+T7du/ke+RZ7p+//ljcQ/fYdRaEEOKvhRDPz3j+BSHEj4UQYvL5bwshTgshYkKIfxFCtMwYu3vSG00KIZ4UQvynEOK3amBTHfD/AJ+RUv6dlDIlpaxIKf9DSvl/zBjnBH4V+AiwUQixfbHXvgRGqIr4uydtCQK7gP81Y8wu4GUp5SEAKWVUSvm0lDJ7hW17G3BBSvnPk+/b14Ek8CtX+Lo6Vxhd2HUWyu8BW4UQ9wkh3g7cD9wrpZRCiHcCnwN+DWgGzgHPwrSQPQ/8IVVP9ARwU41s2gi0TM7/VtwNxCfH/Qj4YC0uLoQwCCESQogbLjL072dc878B/wSUZrz+M+AOIcRnhBA3CSEsNbBtWAhxQQjxlBAiMN+wycfsY5sXe32d5UUXdp3Z/P+TYjX1+G0AKWUO+A3gi1RDAw9LKYcnz/kA8JSU8oCUskhVxG8UQnQBvwwck1L+k5SyDDwOjNfI1inBGrvIuHuBZ6WUKvBN4ANCCOMlXOfJWe/JZwAmvVyvlPJnFzn//wPeLYRwURX4v5/5opTyReD9VD33fwUiQog/n/xGMsUnZ9nwtXmuFQJ2Ap3AdYBv9vVm8FOgUwhxtxDCJIS4f/I8+0XuR2eFowu7zmx+ZVKsph5fmXpBSvkacIaqV/etGee0UPXSp8ZlqMZqWydfuzDjNQlMfSAghDg2Y5Hv7Zdoa3Ty3+b5Bkx+uNwCfGPy0D8DTuD2S7jOQ7Pek//7UoycDKn8APgjwCWl3DPHmP8lpbyTqhD/KvDbVNcNpvj8LBvun+daKSnl/skPnTHgYeCXphZiZ40NU42vfwKYoLo28R/M+PnoaBNd2HUWjBDio4AFGAX+YMZLo1Q9valxDqre9AhVb7ptxmti5nMp5SYppXPy8ZNLNOn45LXf9xZjPkj1g+hfhRDjwGnATI3CMZfA3wO/z/zeMwBSSlVK+UPgRWoTEpkq3zo75DJ1vReklDullH6qHyTrgddqcF2dZUQXdp0FIYToBR6lGo75TeAPZixCfhP4kBBi+2R8+E+BPVLKIaqLhFuEEL8yGf74KNBUC5smQyu/BzwihLhXCOEWQtQJId4uhPjy5LAPAp8Gts94/FfgPUIIXy3sWCAvALcBT85+QQjxXiHErwkhfKLKDcDbqcbeLwkhxA1CiN7J96Ee+Evgx5PfouYav0MIYRRCeKiG2c5IKX98qdfVWVnowq4zm+/OztmeFORngC9IKQ9JKU8BnwL+QQhhmRSCP6IaSx4D1lJNQ0RKGaG6ePlnVEMnG4F9QLEWxkopn6W6IPnbVL33ceCPge8IId5GNRT0JSnl+NSDajhmiKrAL4Qvz3pPXoPpxdN58+tn2alKKX8spYzP8XICeJDqt4kU8HXgT6WUz80Y86lZNsy3TtED/DuQBg4BGaprIEza/FXxxr0Jn6L6czlPNf3xrb796GgEUQ156ugsDZMLgsPAB6SU/7Hc9ujorEZ0j13niiOE+EUhhHcyTPMpqvHeSw4z6OjoLAxd2HWWghuBQSAC/BeqmTf55TVJR2f1oodidHR0dFYZuseuo6Ojs8pY8O47IcRTwJ1ASEq5efLYn1P9al2i+lX7Q1LKxMXmCgaDsqur67IM1tHR0bla2b9/f0RKWX+xcQsOxQghbqGaOvX3M4R9N/CClLIshPgCgJTyExeba+fOnXLfvn0Luq6Ojo6OThUhxH4p5c6LjVtwKEZK+RLVEp8zj/37ZP0PqGY5tL3pRB0dHR2dJaWWMfYPUy1gNCei2khgnxBiXzgcruFldXR0dHRmUhNhF0L8D6DMzwstvQkp5d9O1qTYWV9/0RCRjo6Ojs5lcimlS+dECHEv1UXVd8lF5E4qisLw8DCFQmGxJmkKq9VKW1sbJpNpuU3R0dFZJSxK2IUQt1Mt+fkLk/W6L5vh4WFcLhddXV1MNuVZ9UgpiUajDA8P093dvdzm6OjorBIWHIoRQvwj8CqwfrI7y/3AE4AL+KEQ4uCMinqXTKFQIBAIXDWiDiCEIBAIXHXfUnR0dK4sC/bYpZS/Psfh+bq4XBZXk6hPcTXes46OzpVF33mqo6Ojc4VIFpP8dOSnFMpL+6180YunV4r/94cnazrfx2/rrdlcTz/9NLt376alpQWAJ554gr/4i79gcHCQcDhMMBis2bV0dHS0hZSS0ewoh0KHOBg+iJSSVmcr3Z6lW0dbscK+knn66afZvHnztLDffPPN3Hnnndx6663La5iOjs6yUVbLnE6c5vWJ1xmIDRArxnCZXNzWeduSijrowv4GnnnmGR5//HFKpRLXX389Tz75JPfffz/79u1DCMGHP/xh2tvb2bdvHx/4wAew2Wy8+uqr7NixY7lN19HRWSZySo5j0WPsm9jHueQ5suUsQWuQXl8vBmHAarQuuU26sE/S39/Pc889x8svv4zJZOKhhx7i0UcfZWRkhKNHjwKQSCTwer088cQTPPbYY+zcedGSDTo6OquUSD7CofAhDkwcYCwzhhSSRlsj7a72ZU+K0IV9kh//+Mfs37+fXbt2AZDP57n99ts5c+YMDz/8MHfccQe7d+9eZit1dHSWE1WqnEud42DoIEciR4jkI9iMNlpdrdiMtuU2bxpd2CeRUnLvvffyuc997g3HP/vZz/KDH/yAL33pS3zrW9/iqaeeWiYLdXR0lotSpcRAbIADEwc4nThNspjEa/XS4+3BWLfyZHTlWbRMvOtd7+Kuu+7i4x//OA0NDcRiMdLpND6fj/e9732sXbuW++67DwCXy0U6nV5eg3V0dK448UKco5GjvB56nQvpC5QqJert9TQ7mpc93PJWrFhhr2V64kLYuHEjjz76KLt370ZVVUwmE1/84hd573vfi6qqANPe/H333ceDDz44vXj6la98hT/7sz9jfHycrVu38su//Mt89atfXVL7dXSuJP19G950bMNA/xUftxxzqlJlKDXEkfARDn7+U9RJSVsE3jMq8aXhpWcfnnPOubjlnr+iDphpxXw21ZJl6Xk6V6ON/v5+Nmx485t9NXA137vOymcuEZxipkjVetxSz1kwgfzRN3g99Dpnkmdw/80/s3ZcsmYcrMrPx6ksTNynRB1gtm9/ueK+0EYbK9Zj19HR0VkKYk443SI4Xw+J/m9QkRXqbfXcsVfOuTV/odv1l3Nbvy7sOjo6VxUqkLFBxANnmgQxp8BYqXrm486W6ewWLddb0YVdR0dn1SKpLoCGciHC+TAT2QkGbhSUDdXgiDsn2TGo0hkCUwVeXEEpi4tBF3YdHZ1VQ8kI416IuwRxJ8SdoBx4nKySpVApIBDsmgB/RsWfBlf+5/FvddZcKnN77bPHzcd85y8FWv62oaOjswTMt9A3+3itx13K2MCB/2TvOsH3rhP8rK+OU81QqoPkh/4LAA32Btb71rPev57Un/4OHSFwzxL12QuiLz378Jxiv9CsmLnOf6t7qiV6VswK4Gq+dx2dy0VRFQYTgxwKH2IgOkC0EMVqsBK0BbGb7NSJleG37mjYwY0tN9ZkroVmxayMO18BJBIJnnzyyZrN99JLL3HNNddgNBp5/vnnazavjs7VTqKQ4OWRl/mbQ3/D00ef5qcjP0VFpcfbQ5enC6fZuWJEfbnQY+yTTAn7Qw899IbjlUoFg8FwyfN1dHTw9NNP89hjj9XKRB2dq5aZm4aORI4QzoUx1hmpt9fTblr+olsrDe0K+8kfwit/CYlz4O2Em34Xem+77Ok++clPMjg4yPbt2zGZTDidTpqbmzl48CDf//73ufPOO6erPD722GNkMhkeeeQRBgcH+ehHP0o4HMZut/OVr3yFvr4+urq6AKiru7o9Bx2dy0FKSbQQZTw7zlh2jMHEIBfSF0gVU3gsHro93ZgN5uU2c8WyYGEXQjwF3AmEpJSbJ4/5geeALmAI+DUpZbz2Zs7i5A/hX38f6sxg9UF6ovqcxy5b3D//+c9z9OhRDh48yIsvvsgdd9zB0aNH6e7uZmhoaN7zHnjgAb785S+zbt069uzZw0MPPcQLL7xwefelo3OVUlbLhHIhxrJjjGXGOJM8Q6wQI1PKUKwUMRvM+K1+WhwtmvLOi5Ui/dF+rmm8BovBsmTXvRSP/WngCeDvZxz7JPBjKeXnhRCfnHz+idqZNw+v/GVV1M326nOzHUqTxxfhtc/kuuuuo7v7rbueZDIZXnnlFe6+++7pY8VisSbX19FZzUgpmchNcCZ5htH0KGdTZ0kVU6SVNKpUsRqsOM1OWp2tmA1mTYm5lJKMkiGUC1GRFVqdrYxkRljjWbNkNixY2KWULwkhumYdvgu4dfL/XwdeZCmEPXGu6qnPxGSDxPmaXcLhcEz/32g0ThcCAygUqo1pVVXF6/Vy8ODBml1XR2c1kyllOBE/wbHIMc4kzxAvxkGC3WTHaXIStAcx1ZmW28zLQpUq0XyUaCGKzWij29PNNY3XsDm4GbfZvaS2LDbG3iilHAOQUo4JIRpqYNPF8XZWwy9THjuAkgdvx2VP+ValeBsbGwmFQkSjUZxOJ9/73ve4/fbbcbvddHd38+1vf5u7774bKSWHDx9m27Ztl22Hjs5qQ1EVziTOMBAb4Hj0OOF8mIpawW/10+PpwVB36ckJK4lSpUQoFyKtpPFZfFzXdB07GnfQ6+tdtg+pJVs8FUI8ADwA1YyRRXHT71Zj6iWqnrqSB7VUPX6ZBAIBbr75ZjZv3ozNZqOxsXH6NZPJxKc//Wmuv/56uru76evrm37tG9/4Bh/5yEd49NFHURSFe+65h23btrF3717e+973Eo/H+e53v8tnPvMZjh07tpi71tHRDFJKxrJjDMQGOBI5wlhmjKySxW1x0+ZsW5Y+oLVkdril0d7I21rfxtb6rbQ6W5c9dHRJG5QmQzHfm7F4egK4ddJbbwZelFKuv9g8NdmgNJ0Vc77qqS8yK2Y50Tco6awWipUiRyNHORQ6xFBqiEQxgcVgIWAL4DK5ll3wFosqVWKF2HRLvDZXG9c2XMum4CY8Fs8Vv/5Sle39F+Be4POT/35nkfMtnN7bNCvkOjqrjZyS41D4EK+Nv8b51HkqshpqWeddp/lQC8wIt5TS+Kw+djXt4pqGa6rhFsPKWxO4lHTHf6S6UBoUQgwDn6Eq6N8SQtwPnAfunn8GHR2d1Ua6lOZg6CCvjb/GcHqYOlFHs6MZu8l+8ZNXOKpUSRQTxPIxVFQa7A3c3HozW+u30uZsW9HfPi4lK+bX53npXTWyRUdHRyMki0kOTBxg7/heRrOjmOpMtLnapmuZaxUpJWklTTQfpVAu4LV46fP3sbl+M5sCSxNuqQXa3Xmqo6Oz5ETyEQ5MHGD/xH7Gs+NYjVY63Z1LuvnmSpAv54nmo6RLaRwmB63OVrYEt9Dr76XV2aq52jO6sOvo6MzL1Nb+kcwI51PnORQ6RCgfwmFysMazZkXGlxeKUlGIFWLEi3FMdSbqbfXc0HIDff4+ut3dmr43Xdh1dHSmkVISL8YZSY8wkh1hMD5IOB8mXUqjVBRcFhc93h6MddqUDqWiEC/GiRfjCAR+q58bm29kQ2ADvb7eVbE2ACtY2J88WLsSugAPbX/o4oMWyNNPP83u3btpaWkB4OzZs9xzzz3EYjGuueYa/uEf/gGzWS9QpKMNksUkw+lhRjIjDCYHCWWr2R/FShGr0YrL7KLN1abZcMtsMfdZfOxo2EGfv4913nUEbIHlNrHmrFhhX8k8/fTTbN68eVrYP/GJT/Dxj3+ce+65hwcffJCvfe1rfOQjH1lmK3V05qdQLnA6cZpj0WOcjJ0kWUpSLBexGCy4zC5N1miZyXxivsG/gbXetQSsAc3e20LQhX0GzzzzDI8//jilUonrr7+eJ598kvvvv599+/YhhODDH/4w7e3t7Nu3jw984APYbDZeffVVXnjhBb75zW8CcO+99/LII4/owq6z4lClykh6hP5YP0ciRxjPjlOsFPFavLQ4WrAYLJoWu4paIVaIESvGrkoxn4ku7JP09/fz3HPP8fLLL2MymXjooYd49NFHGRkZma7Dnkgk8Hq9PPHEEzz22GPs3LmTSCSC1+vFaKy+lW1tbYyMjCznrejovIFkMclAbIDD4cOcT50nUUxgN9lpsDdgN9o1LXZSSrJKlnA+TLFSvKrFfCa6sE/y4x//mP3797Nr1y4A8vk8t99+O2fOnOHhhx/mjjvuYPfu3W86b66SDFfjL5LOyqJUKTGYGOR49Dj90X4ihQgCQcAWYL1jvebS92ajVBQihQiJQvVDqtXZytb6rWzwb6DJ0XTV/w3qwj6JlJJ7772Xz33uc284/tnPfpYf/OAHfOlLX+Jb3/oWTz311BteDwaDJBIJyuUyRqOR4eHh6di7js5SMhVqORE/MR1qySk5vBYvXe4uzXccUqVKspgkmo+iohKwBviF9l9gU2ATa71rNX9/tUQX9kne9a53cdddd/Hxj3+choYGYrEY6XQan8/H+973PtauXct9990HvLHErxCCd7zjHTz//PPcc889fP3rX+euu+5axjvRudqI5COcjJ3kSOQIw+lhEqUENoONoC1Ih6tD096rlJJcOTfdTcltcdPr7532zn2z+zLoACtY2GuZnrgQNm7cyKOPPsru3btRVRWTycQXv/hF3vve90432Zjy5u+77z4efPDB6cXTL3zhC9xzzz38z//5P9mxYwf333//ktquc/WRVbKcip/iePQ4pxOnieajGIQBv82v+VCLlJJsOUu8ECdTymAz2gjYAry99e1sCGygw9WxKgqLXUkuqWxvrahJ2d5VxNV87zoLZ6phxYn4CY5Hqg0rFFXBZ/Xht/g1vVNyahE0VoiRVbLYTXYCtgAb/RtZ611Ll6dL83VoasFSle3V0dG5wiiqwvHocV4ZfYXzyfNklAwus4sWZ4umxW6qWUWsECOn5LCb7ARtQd7W+jbW+dbR6e7UfEMOgHi2hMdmoq5u6UJiurDr6KxQymqZ/mg/r46+yunEaUpqiSZ7E22ulV0y9mJIKYkVYoTzYezGatrlVHpil6dLsztcZ5Itljk5kebYaIoLsRy/fl0HXUHHxU+sEbqw6+isMCpqhYH4AK+Ovsqp+CkK5QLNzuYlb4hca6a6D4VzYdwWNzsbd7KradeqyWgplVUGwxn6R1McGU0SShUpVVRuXBOg3rW0H1a6sOvorBBUqXIidoJXRl/hVPwUuXKOFkcLLpe2W8qpUiWSjxDNR/FavdzUchPXNV9Ht6db04u8AKoqORfLMTCW4tBwgrFkgWyxjMtqosVrxW420tvowmFZWqnVhV1Hp8b09715IXzDQP+8Y1XgfAMc7xCkrYL4f3s3jY5G2l3t04J+yz1/xUwJVIGXnn14zjmv1NhLpaJWCOfDxAtx/FY/b297O9c1XUenu1PTH1RSSsZTBQbG0xy+kOB8LEcyr2AzGQg6LXT6l383r54VswK4mu99tTGXqE8xW9xf37KBcw1wpkmQtgm8Wcmmc5LGGPxkhrjOFt8p5hLhKzX2UiirZUK5EMlSkqA1yNb6rexq2kWrs3XZBW8xxLMlBsbTHBlJMBjOEs+WMNQJgk4L3rdYHN3V5edt64I1sUHPirlEEokE3/zmN3noodrkzxeLRT74wQ+yf/9+AoEAzz33HF1dXTWZW0e7qFJlOD3M8ehx9l4nUIUgmJJsHlJpjcJc0jBfsGKu41dq7FxIKSlUCuTLeXJKjnw5T0VWpksX7O7cza6mXTQ5mhY448pCqaiMJwtciOc4E84yMJYiki0hpcTvMLOuwYnRsDJDSbqwT5JIJHjyySffJOyVSgWD4dI3Q3zta1/D5/Nx+vRpnn32WT7xiU/w3HPP1cpcHY2RM8Pe8b0cDh9mKDlEopTgxlFYM67izi+3dRdnKjUxq2TJl/MUK0UALAYLdqMdr9VLn72PRkcjAWuATncn9fb6Zbb60ihXVMaSBYbjec7HcpwOpYlnS6QKZUDisZnpCtixGFf+5qiaCLsQ4uPAbwESOAJ8SEpZqMXc85F+6SViX3sKZXgYU1sb/vs/jOuWWy57vk9+8pMMDg6yfft2TCYTTqeT5uZmDh48yPe//33uvPPO6SqPjz32GJlMhkceeYTBwUE++tGPEg6HsdvtfOUrX6Gvr4/vfOc7PPLIIwC8//3v53d+53eQUmr6q6jOpaEKGPXD2SbBuA/i/d9EIgnagqx3rGf72R8tt4kXpaJWiBaiRAtRHEbHdP58i6OFoC1IwBbAb/Xjs/o011WpXFEZT1WF/EIsx6lQmlhWIV1QkBLsZgNum4lGt3XFeubzseifhBCiFfgYsFFKmRdCfAu4B3h6sXPPR/qll5j44z9BmM3UeTyUw2Em/vhP4NN/dNni/vnPf56jR49y8OBBXnzxRe644w6OHj1Kd3c3Q0ND8573wAMP8OUvf5l169axZ88eHnroIV544QVGRkZob28HwGg04vF4iEajBIO1ibXprDxUqZK0Q9QFMZdg1A8Fs8BakvRegDFXBxbjz9PeVOYOe6hzPF/IuFqOLVaKhHIhMqUMAVuAm5pvYkfjDjrdnZreFKWqkvOxHAPjKQ4NJ4mki6QKCqoEh9mA22qi0WXRnJDPplYfsUbAJoRQADswWqN55yT2taeqom6r/oIJmw118vhivPaZXHfddXR3d7/lmEwmwyuvvMLdd989faxYrH5F1cv5rn5ySo6J3AQTuQnGs+PVEMsT/xWe+jaWsqQ+CV0TKg0x+OmzDzM7k/mlZx9eUFbKQsctdqwEQm747hd+CTV1jiZHE7e23crW+q2aLoU7O4vlQixHYjKLxWs307AKhHw2ixZ2KeWIEOIx4DyQB/5dSvnvs8cJIR4AHgDo6OhY1DWV4WHqPJ43zm+1ogwPL2remTgcP98lZjQapwuBARQK1SiTqqp4vV4OHjz4pvPb2tq4cOECbW1tlMtlkskkfr+/ZvbpLD2pUoqh5BDj2XGG08OMZcem484CgdVoxWFy4HzwfiwGCyUhOAmcfIs5F5p9cilZKpc6VpUq0Xw13GIz2ljr6uCaxmvYHNyMy+yqDnzE8+aTH0nOcazG4xYxZ1w66f/gIY6OJDkTzhKbkcXy2WPvwCx+/jetAo/fvPdNU37s5V1v+pCca9x8fOzlXdS9vADba8yiP6aEED7gLqAbaAEcQojfmD1OSvm3UsqdUsqd9fWLW1QxtbUhC28M4ctCAVNb22XPObMU72waGxsJhUJEo1GKxSLf+973AHC73XR3d/Ptb3+7aoOUHDp0CID3vOc9fP3rXwfg+eef553vfKdmPZ6rmVQpxcHQQZ478RyPH3icrx/7Ot8d/C5Ho0en28qt861jvX89ne5OgrYgVqN1Rf+spZTVbxvZCU4nTnMidoKKrHBd03V8cNMHeWDbA9zYcuNbi/pcx2s97jLmLEgTB9Qevll+B0+Xf5E9f/d/sf9cHCFgXYOT3kYXjxy8+Q2iDlUh/NjLu95wbLaozzduPuY6/y3vqYbUIhTzbuCslDIMIIT4J+Am4JkazD0n/vs/zMQf/wkqVU9dFgrIUgn//R++7DkDgQA333wzmzdvxmaz0djYOP2ayWTi05/+NNdffz3d3d309fVNv/aNb3yDj3zkIzz66KMoisI999zDtm3buP/++/nN3/xNenp68Pv9PPvss4u5ZZ0lJFlMciZ5hhOxE5yOnyZWjFFRK7jNblqdrZorTKVKlZySI62kyZQyVGQFm9GG0+RkU2ATXe4uev29tDm1W4MmJy3sV9dxSK5FkUYaRJy3Gw7TK4b5WtMfvmHsQtM8F5sOupzBnVoI+3ngBiGEnWoo5l3Avrc+ZXG4brkFPv1HNc2KAaYbUs/Fxz72MT72sY+96Xh3dzf/9m//9qbjVqt12pPXWfkki0kGE4OciJ1gMDFIrBijrJbxWDy0O9vfsOi50plKTUyX0qSVNFJK7EY7LrOLnoYeOt2dNDuaV0X9mXRBYf+5OEcqt1PBQK+4wE7DCepFarlNW1ZqEWPfI4R4HjgAlIHXgb9d7LwXw3XLLTVbKNW5OlFUhdPx0xyOHOZk7CTxYpyyWsZr8dLuatdclcGyWiaSjxAvxHGYHHgt3unGFC3OFpodzdhN9uU2syYkpZ19/RO8OhjlQjzHr4oRdtUN4BOZ5TZtRVCTrBgp5WeAz9RiLh2dK02ymORY5BgHQge4kL5ArpzDZ/FpUsynGlSE8iGUikLAFuCWtlvYUr+FLneX5sJGFyMunbym9tEv2zm+9wIWUx1dAQfvNuyreUropaSOzsV85y8FK6pWTF9fn2ZjfJeLlJKBgQG9VswVRpUq51PnORw5zJHwEcL5MAZhoN5ej8ukveqJUxuHYoUYNqONFmfUIGNsAAAgAElEQVQLOxp2sDGwkaDtCuyVWMasGPkZDxHc7FPXc0K2I1A5s/n/pNljfcMu0EvJYFno2JpkxTCrVMQismIWWitmxQj72bNncblcBAIBzf2RXS5SSqLRKOl0+qI58zqXR76cZyA2wOsTr3MmeYZkMYnb4qbeVq/JGuBZJUs4F6ZQKeC3+lnvW8/Whq30ens13RpvNrlSmQuxn2/tvxDLEUoXcVqMNHtsmI3ayTu/qouAtbW1MTw8TDgcXm5TlhSr1UrbItI0dd5MqVJiIjvBycRJDoYOMpYZQ1EV6u31NDmaNFcDXEpJvBgnnAtjNphpdjSzvWE7mwKbaLA3rApHqFRWGUlUhfxMOMPZSJZkXiFXLGOoq8NjM9Hb6MKksY1EpbLKqYk0O7t8WE1LV2NmxQi7yWTSvVadS0ZKSVpJM54dZzw7zkh6hHPpc9WMkFIaq9FKk6NJk4uGMxdDPRYPOxp2cE3jNaz3r9fcWsBspJREMiUGwxnORbOcGE+TyFfrtAgEbquJoMOCYwXUNr9UKqoknisRzZSQSIrlChdiOdY1upbMhhUj7Do6C0GVKuFcmPHc+PQ2/lAuREbJkC/nEULgNDlxmpw02Zsw1K38SnyzKVaKTGQnyCk5gvYgt7bfyo7GHXS5uzT3bWM28WyJExNpjo0mOR3KEM8qqFLisBhxW420eGwYlrDpc62QUpIulAlnihTKKn67ia1tHra1e+lrchFw6q3xdHTehKIqDEQHeG38Nc6lzpFRMpTVMqY6E06zk6AtiN2oPe9uJplShoncBBVZodnRzLs7383W+q002BuW27RFkcwrnJpIc3w0xYmJNNFsCVWV+Bxm1tQ7NBdemUleqUwXEnNajLT77Wxv97Kx2U2bz7Zsv4+6sOusaJSKwrHoMfaM7eFM8gyFcoGgLUiHq0OTi5+zmRk/txgsdHm62Nm4ky3BLTjNzuU277LJFsucnEjTP5aifyxFJFOioqp47dqpaT4fSkUlmi0Rz5YwGgQNLis39wTZ2OJmbb1zRSzs6sKusyIpVoocCR9hz/gehpJDKKpCk6NJk6mJczFX/Pzaxmvp8/dpOrtlLJnn1cEoh4eThNMFimUVr81Mh9++pIuHtUaVkkROIZIpUlElAaeZG9YG2NbmYX2TG+cSN6u+GCvLGp2rnpyS43DkMK+NVUMuKirN9mZNe68zmY6fl3MEbasnfj6RKvDy6Qj7hmJMpIp4bCZavDbsZm1LTK5UJpQuki2W8dpMbGh2s63dy4ZmF/VOy4p1MrT9ruusClSpkigm6I/289r4a1xIX0AgaHI04TA5Lj6BBnhT/LxxdcTPQ+kCPxuMsudsjIlUAa/NzIZmtyYXQKeoqJJotkg0U8JkEDR7bOze2MTGFjedfvu8TatXErqw6ywpqlSJF+JE8hHC+TAT2QkupC+QLCZJFBMY6gy0Ols13aVnitUaPweIZIq8OhjltbNRxpIFPDYT65tcGOu0+60jW6x657lSmYDDzHXdfnZ0eNnQ7NbcNw9tWaujOeKFOBO5CcK5SRHPVEU8p+QoVApvaFDR4e7QfH52Ra1Ml8dNl9KrKn4O1XTFn52J8uqZKKOJPG6rifWNLs12ICqrKtFMiWi2iMVooNlj5drOJja3emj1Ll9Wy2LRhV3nijCWGeO18dc4HD5MupSmUKk2RrEZbThMDhrsDdiM2v3DmaKslkmX0j/vpDSZR++1etnVtIttDds0GT+vqJJMoUyqoJDMK6QKCrFsiX1DcUYSeZwWoyZ3gk6RK5UZTxYolCsEHBZuXBtkR3vVO9fyIu8UurDr1AwpJaPZUV4be41D4UNE81G8Fi+NjkashpXdVWihKKpCppQhVUqRL+epE3W4TC4C1gA7G3fS7mqn2dlMk71JE955QakwGM6QyFV3fSZyCuF0kXiuREGpUCyr0w8pJU6LkZ4VktJ3qUgpSeYVxlNFDHXQ7rNzbaePLW0emtyr4/dzCl3YdRaNlJLh9DB7xvdwNHKUSD6C3+qn19+LQWjf+4Fq8a2J7ASKVPCYPTQ5muj2dNPqbKXF2UKjvRFjnXb+nOLZEgcvJHhtKMZIPEdeURFUG1pbjHVYjHWYjXW4rCaCk/+v06jwqaokkikSzlSLiG1qcXPDmgBbWj3YzKvj93M22vlN1FlxSCk5nz7PnrE9HIscI1aI4bf5We9fvyoEXUpJqpRiIjeBsc5Ih7uDnY076fZ002Bv0Fy5Aikl56I5DpyP8/r5OBOpIiZDHU1uKw6LYVV5rFDdSDSRKpDMK/gdZt6+rp5dXX56G52aXRNYKLqw61wyZbXMudQ59o7v5Xj0OPFCnIAtwHr/es3FkudClSqxQoxIPoLD5GCjfyO7mnexMbBRk4u7pbJK/1iKvUMxToyniedKeGymFbNLstZMxc+LZZVGt4W3rwtybad/Wbf4LzW6sOssiEK5wLnUOc6mzjIQHSCUC5EupQnagqtG0CtqhXA+TLwQx2v1cl3Tdexs2sk67zrNeecAyZzCweEEe8/GOB/Lklcq1DutbGh2azasMh9FpUIsVyKRUzAaBG0+G9d3B9jR4cPv0H7piUtFF3adeUmX0gwlhziTPMNAbIBYIUZOyWEz2fBZfLQ6W1eFB1SsFKsVIksZ6u31vLPjnVzTeA0drg7N3Z+UkpFEngPn4uw/F2c8VcAgBE0eK06LUXP381YUlArRbIlkvoSxro6Aw8zbeoJsaHGzuWX1xs8Xgi7sOtNIKYkWogwlhzidOM1gYpB4IU6xUsRlrmZ+aFHsZlKRFfJKfjo9UVEVjHVG6m313NpW3d6vxd2gqio5FcqwdyjG0ZEkkUwRl9VEd9Ch6YJbs8mXKsSyJZIFBbNB4HeY2d7eQF+Ti54GJ1771eedz0VNhF0I4QW+CmymurD+YSnlq7WYW+fKolQUhjPDnE+d52T8JCOZEZLFJKpUcZvdNDubNbsLVEpJsVKcFvF8OQ+Aw+SobohyddDh7qDB3kC3pxuPZY4+nCucYrnC0ZEUe85EOR3KkCooBJ0W+pq0va1/ClVKMsUyyZxCuqhgNhgIOM1c2+mlt8lNT4MTj23lp5UuNbXy2P8S+Dcp5fuFEGZAe+1qriKSxSTnUuc4lzrHyfhJovkoGSWDURjxWDx0ujs1WxJXlSrJYpJYIUapUsJitOA0OWl2NNPl6aLJ0USDvYEmuza7Kk2RKigcPJ9gz9ko56I5lLJKo9uq+QVCKSWFskoyV90YVZYSp9mAz27m+jUB1je5WFvvwGXVxfytWLSwCyHcwC3AfQBSyhJQWuy8OrVDSsl4dpwzyTMMJgY5lzpHopigpJZwGB14LV5anC2aXQCVUpJRMkQLUfJKHrfFzVrvWvr8fdNC7rf6NXt/M5lIFThwLs5rQzFGE3kMQtDsta24srGXglJRSeWrQl5QVMzGOrx2E9vbvfQ0OOkM2GnXeNnfpaYWvw1rgDDwd0KIbcB+4HellNmZg4QQDwAPAHR0dNTgsjoXI1/OcyJ2gsPhw5xOnCZRTFAn6vCYPbQ6W7Earctt4qLIl/NE81HSpTQOk4MmexNb6rfQ6+ulzdmmyUyWuSiVVU6F0hy6kODoSJJQpoTTbNBs/FxKSa5UIZ4rkSooGEQdbpuRzoCD9U0uOvx2OgN2PV6+CISUcnETCLET+Blws5RyjxDiL4GUlPKP5jtn586dct++fYu6rs7cTG3rPx49zsHQwepuSVUhYAvgs/g0L3ZKRSFaiJIoJjDXmQnagmwMbmS9bz3dnm7NhpBmI6UklC5ydCTJ/nPV+izZYgW/w0S9y6K5KoqqKkkVFOI5hVypjN1swO+w0NvoZE191StvdFk1URJ3ORFC7JdS7rzYuFp47MPAsJRyz+Tz54FP1mBenUsgp+Q4GT/JofChajZLMY7daKfJoe1Y8hRKRWEsOzbdoOKmlpvYENjAOu+6VXF/UxSUCgPjVe98YCxFNFvCbKyj3mWh06+tdEWlopLIKcRzJcqqittqotVrY2OLmzX1DrqDDs2Vw9UKi35XpZTjQogLQoj1UsoTwLuA44s3TediqFJlJDNCf7Sfg+Gqd15WywRsAXp9q6NOy0xBb3Y0c1vnbexo3IHf6l9u02rGVO750ZEUB87HGEsUqp3uHWbWNWhr+3u5ohLOFEnkFIQAn93MxhY3G5vdrKl30u6zaep+tEqtPi4fBr4xmRFzBvhQjebVmYVSUTifPs/Z5FkGYgNMZCdIFBM4TA5anC2aTU2czZsEves2rm24Fq/Vu9ym1YRyRWU4nmcomuXkRJrToQyxnILdZKDRbcWhocVQKSXpYplQqohSUQk6LdzUE6C30cXaeicNrpXbQm61UpPfHinlQeCicR+dyyOn5DibOsvZRFXMo4UomVIGq9GK1+Kl17E6vHP4uaDny3maHE2rStCTeYWhSJazkQz9Y2kimSKpQhmDAL/DQl+jS1O55+WKSmSySYXDbKQzYGdnl48trV7qXdqrqbOa0I5bcJURL8Q5mzzL6cRpTsVPkSgmKJQLOEwOvFYvbc62VeUFTTV5zpfzNDubua1J+4JerqiMJgqcjWY5HUpzNpwlnlMolivYzUa8dhPNHpumxFxObhgKpYuUyioBp5lbeuu5psNHb6NrVRYV0yK6sK8gCuUCg4lBjkaPcjJ2knghTkVWcJldNNobV0XHoSlUqZIpZUiWkmSUDKY6Ew32Bm5ruo2djTs1uQsUqhuHhv50F0OyifOyAUUaEUKlf/3DeGxGWn02rMa66Z/jx17exUwpVIHHb977pnkXOu5KjVVVSThTJJotYTXWvaFJRaNb22mzq5FFpzteDnq6489RpcpwepiB2ABHIkcYz45TrBTxWrz4rf5Vk74HUKqUSBaTJItJyrKMw+SoNuTw9dLp7tTktv4pr3womuVUKE3yXx9FAG6RpVNM0CXGaRchjKLyJsGcLapTzBbXhY67EmMrqiSULhDLlgg4zPQ1u7mmw0dfs0uTOfRaZynTHXUug3ghXhXz8BHOp8+TLCaxm+w02BuwG+2rwjNXpUpGyZAsJskqWYx1RjxmDxuDG1nnXUe7u502Z5vmPrxShclYeTjLwHiacKZIKq8gEDxgOEynGMdPmov9COcLWsw+vtBxtRxbVlUmktUWeQ0uC7s3NXFDd4B2/+r51ria0YV9CSlWipxOnOZ45Pj0IqhAELAFaHI0rYot78VKcdorr8gKDpMDn9XH9c3X0+Xuot3Vjt/q15Q4lCsqI4k8Q9FcNVYeyZLIKRSUCjazAZ/NTJPbiqFOcM2ZU8tt7qLISzMH1R5OjKdpdFu5Y2sz168J0OpdHdlWVwu6sF9hpJSMZEYYiA1wOHyY8ew4+Uoen8VHl7tLc97qbCqyUo2VT3rlZoMZj8XD5uBmerw9mvTKpZTEcwpD0SxDkSwnxqcyWBTqqMNjN9LssWIzrZ52cllp4YC6jsNyLYo0ctf2Fq7rDujxc42iC/sVIlVKTddpmSq6ZTVaCdqDOIwOzQqClJJ8OU+qlCJVSqFKFZfZRb29npt9N9Ph7qDD1YHX4tXUPRaUCsPxHEORHKdCaS7EciTyCqWyisNsxLPADBaVuUMc6iLGXok5ASoSQvgZUDs4KrtQqWO9uMAuwwmC256a4wwdraAvntYQRVU4mzxLf7SfY9FjRPIRKrJC0BrEa/VqNte8WCmSLqVJFVMUK0WsRises4cOdwdrvGvocHXQ7GzGVKe9UqpjyTyvnI5ybDRJPFciXShjrKtWF/TYTJdVUfBKZKXUak5VSlJ5hViuRK5YYdOpv8YgVDaI8+yqO4FPZOCR5MVvUmdZWOjiqS7sNSBZTHIofIiDoYOMZkbJKlk8Fg8BW0CTzY/Larkq5KUUOSWHyWDCbXbTaG+kx9dDm7ONNlcbLrNruU29bKKZIq8MRnh1MEYoXcBlNeG1mXBajauuH2hZrdY3j2VLlCoqbpuJRpeVTa3VRhVdAYdeElcj6FkxS0C8EGf/xH72ju9lPDuOyWAiaA3S7mrXVBhiioySYSwzhoqK2+SmydHEOu862lxVIQ9YA5q8r5mkCgp7zsR4+XSE4XgOj820aroNzaRUVonnSiRyJVQJXruJ3iYXm1o8rK130OG36zVbVjG6sF8G0XyUfRP72D+xn/HsOA6TgzWeNZgM2gtFAGSVLKPZUQwYWOdbN93IudHeqPkyv1MUlAqvnY3xk1NhzkVz2MwGehtdmFaJuE3VOE9Mdh4yGAQ+m4nt7T42tLhZW++gxWPTy+JeJejCfglE8hH2je9j38Q+QrkQTpOTtZ61mhX0nJJjNDOKEIK1nrXc2HIjW4JbNJXBcjGUisrr5xO8dDLMYDhDnRCsCTqwrILQw+wa5zaTAZ/DzPaOauehtfVOgk6z5r9l6Vw6urAvgFAuxN7xvRyYOEAoF5puvabFxUKoCvpYdgyJpNvbzQ3NN7CtftuqEvSKKjk2muQ/T4Y5MZ6mokpavTZNVU2cC6UyFWJRKKsqLquJFq+VDU1u1jY46Qo6NN0mT6c26L8BcyClJFVKMZoZ5XTiNK+HXiecC+OxeFjnW4exTptvW76cn46hd7o7ubH5RrY1bNPkAu9cFJTKdO55/1iac9EsuVKFVq8Nt4Y72SsVlVi2RDxbQtQJvDYTm1rcbJiscd7ms62akJJObdCmQtUYVarECjFGM6OMZcc4kzxDOBcmXUqTL+erpXF9vZqMN1dkhVQxRbQQRUpJp7uTG1puYHv9ds33PJWyWphqKJJjMJTm5ESGWK5EtljGYjQQcJrp8GuzPENFlcRz1ZK4qoSAw8x1a/xsbK4uftbrNc513oKrUtjLaplwLsxodpSxzBiDyUHihTjpUppSpYTFYMFpdmq2oqIqVZLFJLFCDEVVcJvd9Hh72N6wnR0NOzTdjKNUVjkfyzEUyTIwnmIknic+mfnhtBgJOMx0alTMVSlJ5hQimSKKKvHZTWxt9bKlzcP6Jhf1Tl3MdRbGVSPsUkpCuVB1a3/kMKFciHQpjSpVrEYrLpOLNlebZsMSU2IeL8QpVUq4LW7WeNawKbiJtd61tDpbNV2LJpopcngkyb6hauu4VLGMqU7gtZvoDjo1Wwd8qvtQJF0kr1Tw2Eysa3SxdVLMW73acyx0lp9VL+xTTZ6PRo5yOnGaWCGGuc6Mz+oj6AlqdgEUqqKQLFU981K5hMviosvTxabAJnq8PbQ4WzQZPpqiokrOhDO8fiHB4QsJQukiRoOgwWWl1WfT9EYiKSXJvMJYsoDVVEebz862dg/rm9x0+O2rLq9eZ2lZlcJeUSucS52jP9bP0chRQrkQZVnGb/HT4+3R7OLnFMVykXA+TKqUwmP20OXuYmNgIz3eHlqdrZoWc4B0QeHISJL95+KcDWdJFRS8djM9DU7NLxJOFRibSBWwmw1sb/dyU0+Qjc1uzX7r0Fl51EzhhBAGYB8wIqW8s1bzXgqRfGS6iuJweph0KY3L7FoVTZ5VqRIvxIkUIhgwUG+v56aWm9gY2Einu1PzYi6l5EIsz6HhOAfOJRhPFZASGtwW2nzaD0dIKYlmS9XyBRYTO7t83LQ2yIbm1bfrVWf5qaXr+rtAP+Cu4ZwXJV/Ocyp+imORY5xKnCKaj2KsMxKwBWh1tmpeEHJKjkg+QlbJ4rV42Rrcyrb6bfT5+3Canctt3qKYymo5OZ7h2GiSwXCGWLaE02Kkw29fFfVLVCmJpIuEM0W8NhM3rglyU0+A3gaXvgtU54pRE2EXQrQBdwCfBf57Lea8GMPpYY5Gj3IkfIRQLkSxUsRn8bHGu0bTcXOohpJihRixQqzaC9TRwDs63sFG/0baXNpvYh3Lljgxnn6DmAsEfoeZDU3uVSF45YpKJFNNV/Q7qg2fb1obZG29dks262iHWnnsfwH8ATBvuT8hxAPAAwAdHR2LvuC51Dl+NPQjjHVGGu2N2E32Rc+5nEgpSStpovno9IfUzqadbAluodfXq/n7S+YUToaqYn5yvJpvLqXEZzeztl7bsXNVSvKlCulimWyxTEFRMdSBz27m3RsauWFNgM6ANlMwdbTJooVdCHEnEJJS7hdC3DrfOCnl3wJ/C9WyvYu97s6mnQylhkgWtV07ulgpEs1HSRQTOE1O2lxt06GWRnujpsWgVFY5Oprk+GiKgfEU0UyJiloV8+6AQ5OLhVJKSmWVTLFMplgmV6oAYDMbcFqM9DQ46Q46aHJb6QjYafZoe21HR5vUwmO/GXiPEOKXASvgFkI8I6X8jRrMPS8Wg0WzedkVWSFRSEz3PA3aglzbeC0bAxtXRShJqagcHk7y01NhToUyFMsqXpuJTr9dk8W3pJSkCmWi2SL5UgWLsQ6nxUiD20JXwEGrz06T20qTx4rbatT0h7HO6mDRwi6l/EPgDwEmPfbfv9KirkVUqZIpZYgVY9NlCrYEt7C1fiu9vl48Fs9ym7hoyhWVY6MpXjoV5uR4mlJF0uq14rJq74NqutNQtkReqeCymmj12tjS6qXNZ6PJYyXotOgZLTorEm0ndK9wymqZZDFJophAURWcJifNjma2BLfQ5+9bFVk7UN1I1D+W4ienwgyMpSkoFVo0WHhLndw0FMuWKCgV3FYTbX47W1s9rGt00hlwaHotQOfqoabCLqV8EXixlnNqjWKlSKKQIFFKgASPxUOPt4c+fx9dni7aXG2aD7VMoaqSExNpfnIqzPHRFLlSmWaPDY9NOwuFUztAI5kSxXIFt81EZ8DOllYP6xpddOqdhnQ0iO6x14BSpUQ4X60Gaawz4rV4ubbhWnp8PazxrKHB3qDZ9YC5SBcULsTyvHomwrGRFOlimWa3VVOVFKd2gI6nCjjMBrqDDra0eVjX4NTbxuloHl3YF0GmlGEiN0FFVmiwN7CjYQdrvWvpdnfjtXqv+PX7+za86diGgf6ajlt79BgTqQLjqQLjyQJnI1km/uoJJOApZrgtMkhbeoIf/dV33nTubQ/fxUx5VIEfLvO4qR2gE6kCbquJtc/+DZuiZ+hOjmFAUgSMc7w3sPD3UUdnuRFSLjrz8JLZuXOn3Ldv36Ln+ceBfyReiNfAooUztbU/nA9jNVhpd7dzbcO1bK7fjNu8dJtu5xKZKWaKzaWMk0DKbCds8xGxeYhYPSQtTgq/cT+ZgkJFSnY+/efU55ME80n8hRR1VH9/ZovsbHGdYrnGlRE8+6fPEUoX8diMbGh20/J7v0Vnanz6HuZ7b2Dh76OOzpVECLFfSrnzYuN0j32BKKpCOBcmUUzgs/i4tvFarmm4hj5/n2Z7ngLkSuVqWKVpE+MOPxlTNe/aXFEIFJK0RUP0mw00uCyYDHW8ffTInPPMFtP5AhlLPa6CYMjTzNHAGkoVlZt7AtzcE6Sn3smJ1Ng8s+roaBtd2C9CTskxkZugVCkRtAW5rfM2tjdsp8PVoZl48kwqoo6QzcuYI8DeV4Y4Hc6QzCv4XA005mJsjJ6lMRfDXcoxdXfjdu31Qq2IOgY9LRwPdJMx2QgUUjz4C2tYW+/U5M9NR+dS0IV9BkpFIVvOklNyZJUsFVnBXGemxdnCtY3XsqV+C36rf7nNvGTSJhvDzgZGnQFCNh/lOgN1UiU8GMFlMRFwmPnVUy/OGZLQEuWKypCriWFXAyOOIIrBSDCfZNd4P63ZCD0N81a80NFZVVy1wl5Wy2SVLFmlKuSKqmCsM+IwOXCanKzzraPV2UqjvZF1vnWa6g8qpWQ8VeBMOMvL3TeRtDinFzt7EsM0Z6MEc3FebHp45llzzqXO8Xy+WPdyjMsYLYynCiRyClJKYq1bsZdLdKXH6UyN05SLofvnOlcbV9XiaalSIlqIkiwmqRN1OEwOHEYHzc5mWp2tNNgbqLfXU2+rx2xY+eGHmQt6FVHHuN2PeOZ5jo+lGI7liOcVkPCLf/0/aM+EcCoFYGVkp1zuOAEkLE6GnQ1ccNYz+JsP45tsj9fX7GJtvZP4Dde+6dvHfAucl5LpomfF6Cw3C108XfXCPrMuC0DAGmC9fz1rvWurQm6r15Q3PpNyRWUwnOVUKM2xkRShdIFkXsFkqMNnN+Ozm1ZNPnZFlUQyRaLZIlajAZ/DzPpGF71NVTH3O1b+B7GOzmK5qrNiZpfAnarLsjm4mfW+9UuSY34lyRbLHB5OsncoxtlIhlS+jN1cFbsWj21V1DOfoliuMJEqki4oBBxm3tZTz44OL2vqnTgtq/LXV0dn0ayqv4x8Oc//bu/OY9u87zuOv78SJVKUSIrULUuyJMeX5pxVXC/B0hZp16AYmn+CIhvadVjXoB1aoDuAHf1jxQYMw4Z16LYCndEVaYdu7bqrwZAd6dqsS9EcTpo2aWy3jm9bti6Kh3iT3/1BxnAcHbT5kPTz+PsCDPD48eH3Z1IfPvw9P/6elewKqULqyhK4tw/ezt7YXsZ7x10/G+JSIsfL5+K8cDrOhbUsKIyE/UxG3fOLz3qlcyUWklnKFWU0HOBde4e4eyrqidPkGdNsrg/2YqVIPBcnnovj6/Ax2DPIofFD7IvtYyYy4/p1WcoV5cRimhfPrPLKhQRL6QK9XZ1MxYL0uHAJ3K2oKqvrBRZTefy+DmYGezk4M8BdE/1Egu5+HY1pJdcG+7nkOY6uHCWRTxALxLh39F4ODB5gd3Q3vV297S6vYdlCmVcuJHj+1Aonl9ZJ5ooM9PrZO9KHr8Mb4+ZvyBfLLKcLrGUL9PdUT/R873SMufEwfp+3PryMaQX3BnvqHDv6dvDe6feyN7aXgcCAJ76iF8sVXjwT5+nji5xdyVCuDbd4bQiiVKkQXy+ysp5HRBjq6+bts6PcszPKzECvp44TGNNqrg32+dF5Do0f8syqiarKsUspvn1skdcuJlGUHdEegt2ufYne4uolcgvlCrFgF2/bGeWOiX72j4WJuGz9dmNuVq5NDTfMM6/XQiLLt48u8tLZOMlciQkXnqRiKxQ+UfwAAA79SURBVJlCieV0gVSuSCjQxcxgL3dPVcN8LBLw1DcRY24Grg12L0jminzvp8s8c2KZy8kcw6EA+0fdP+SiqmQKZdYyRRK5At2dHQyHA7xjzyBz4xFmB3s9M7/emJuRBXsbFEoVjpxZ5X+PL3FqeZ0+v499o2FXnz+zUlGSuSLxTJFMoURPV3Ve/V1Tw+wfC7NvNESvzTs3piXsL62FsoUyry+lefr4IkcXkgDMDvbid+m0xWK5wlqmSDxToFiuEO7pYiwSYG4szOxQHzNDvfYjImPawP7qmqRS+wn8QiLHQiLH2dV1zsezJLPVPdod0SDhgPvG0UuVCqvpAqvrBRCIBruZGw+zfzTM7FAvk7GgnfDZmDZrONhFZBL4CjBKdf2mw6r6uUa36zaZQomLa9XTx11cy3JyOU08UySdK5IvVfB1dNAX8BENdrvq3KBQHTNP5kospfIUyxVivd3cO1OdZ75rqI/hkN9V/THG65zYYy8Bv6WqL4lICHhRRJ5S1dcc2PZNLZ0v8dPLKY4tJDl6KUUqVySdLyMoPV0++gI+JqJB/L4OVwZfrlhmKZUnmSsSCviuzGaZGw8zGrbZLMbcrBoOdlVdABZql1MichTYAXgy2DOFEicW0xxdSHF0IclSKk+hXCYc6KI/2M2Ofp+rD4KWKhVW1wuspAt0dgjDIT/33zbIgR0RZod6bZjFGBdwdIxdRKaBu4HnNrjvMeAxgKmpKSeftulyxTInFtMcv5Ti1YsJllN5ssUKkR4f4/0B1/+IKFcsE88USGRKKEq0NtRy50Q/+8dChFx4LMCYW5ljiSQifcA/A59S1eS196vqYeAwVNdjd+p5m+GNA5/n17KcWV7nlQsJltN5MoUyoUAXI+EAwe5O1w5FVFRJ5UqsZQqk8yX8vur67Qdno+wZqa5vbj8cMsa9HAl2EemiGupfVdV/cWKbrVSuKIupHBfiWc7HM5xYXGcpnSeVLVIoV+jz+xgKBeh1cZi/aWpiRQn5fQyG/Dywe4iZoV5mB/tsBUVjPMKJWTEC/C1wVFU/23hJzVcqV7iUfCPIs5xYTLOynieZK1GuKAFfB6FAF1MDQVevLliuKPFMgZX1PKpvnpo4PdjLVCxIt8/GzI3xGif22O8HPgS8IiIv1277fVV90oFtO2o9X+KH59d47uQqF9eyJHNFyhUl2O0jHPAxM9Dr+qDT2jDLUjpPrlgmGuzmwHiEuyaj7BnpY8imJhrjeU7MinkGbu4Twa+k87x0do3nT61wPp5FgaE+P8Mhv2fWLMkWytXho1yRPr+PyViQuyb72T8aZiLqrdPlGWO25u7pHFtQVc6tZjlyZpWXzsa5nMwT6Opg0kNnHiqWK6ykC8Qzebo6OxgKBfi52waZ2xFmdrDP9d8+jDE3xnPBXq4oxy+leOH0Kj++mGBlvXpWnt3DfZ6Yg12uKGuZAsu1cfOB3m7uv22IAzsi7B0N2dosxhjvBHuuWD2V3HMnV3h9KU0qV2Koz8/caNj1wxBvGjcvVYj2dHFgPMKdk/3sGw0zFPK3u0RjzE3E9cGeyBR56Vyc50+ucnZ1nXIFhsN+JqPuWo9lI1efoMLGzY0x9XJtsC8kshw5HefI6VUuJfP4OoSxSI+r1/yuVJRUvkQiWySdL9VOUOHngd2D7K8tuOWF4SRjTHO5NgWPXUrxn68u0O3rZGbQnfPNVZVssUwiWySZLVJWCPl9RINdHJqNsXskxN4RO0GFMeb6uDYxDs0McGo5TSJTancp16VYrpDIFklki+SKZXq6Oon0dDE/HWPXUB9TA0Emoj2u/KAyxtwcXBvsPd2d+DrcMyyRL5Y5v5alWK7Q39PF7GAve0fD7BwIMjXgzpNuGGNuTq4M9qP79gMwX7teAZ76q2/W9dj3fPJhrv442Oyx9bbbrm2+VObCWpZCqcLINx5n99p5ZpILRHMpOlD2Hzu6af+utlE7Y4zZiHt2eWs2Cr0OquG6nWsDeLPH1ttuq7b3/8YHOL28zsmldYZDAe774h/z/pPPML94nIFckg50w/5s1L+tbjfGmGu5co99I/V8Qm3WZqNgrvfx196W6+zmtdg0x6OTxPq6uW/XIAdnYlz8bdvjNsa0hmeCvd3yHT6OxqY5HpuiLJ1MJxd45MHd9Ae7AbjY5vqMMbcOC/YGqCqXgjFOhcc4Gx6hLJ1MpS5zx/IJIoXMlVA3xphW8kywV+pss9FwyrWP3aqdqpIplFlO50nnSyxNzeMvl5hKXWZu5Qz9hfR1Vm6MMc4S1dafpW5+fl6PHDlyw49/40DiG5W3YlZMyhfgG3/wOIlsAb+vk+GQv3pO0PEw+Xcewqdv/nhoZLaLzYoxxmxERF5U1flt27kx2N/wle+fZiVdaLygTRRKFeKZAvFMARFhqK+bubEwc+MR9oyE6Olu84+IPhPZ4LaEtau3XTPbGtMEFuw3oFSukMxV12rJFsr4OoX+ni52Dfdx+44I+0bDN895QTcKmSv3Jazddu2a2daYJqk32D0zxn4j3rToVq6ECER6uhjvD7BnJMTOgSCTsSBDfXY6OWOMe9xywV4qV1hOF1jLFqmoXll0697p6JUTPI9Feui0JXGNMS7lSLCLyEPA54BO4Iuq+idObNcpqsp6vszlVI5CqcJAXzcHZ6LsGupjMmaLbhljvKXhYBeRTuDzwHuA88ALIvKEqr7W6LYbVa4oy+k8K+sFAr4OJqNB5qej3L4jwnA40O7yjDGmKZxYK+YgcEJVT6pqAfgasP3CLU20ni9xanmdY5dTANy3a4CPPjDLp96zmwf3j3gj1DeduXHtQT9rt+ntzWprTJs1PCtGRB4BHlLVX6td/xDwdlX9xGaPacasmHJFWV0vsJzO09XZwXh/gLftjHHHRISxSMAOfhpjXK+Vs2I2Ssy3fFqIyGPAYwBTU1MOPG1VtlhmMZkjnS8R6+3m3pkY90xF+ZnxMIEuGzc3xtx6nAj288DkVdcn2GDNK1U9DByG6h57o096cinNy+fWyBbKjEUCvHtuhDsn+pmI9tjeuTHmluZEsL8A7BaRGeAC8CjwSw5sd0sX13LsHQ1x92R179zOC2qMMVUNp6GqlkTkE8B/UZ3u+CVV/XHDlW3j4EyM+3YN0GHzzY0x5k0c2c1V1SeBJ53YVr26fa47+ZMxxrSEpaMxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxniMBbsxxnhMQ8EuIn8mIsdE5Eci8q8i0u9UYcYYY25Mo3vsTwEHVPUO4CfA7zVekjHGmEY0FOyq+t+qWqpdfRaYaLwkY4wxjfA5uK1fBb6+2Z0i8hjwGMDU1FRjz/SZyAa3JZx97PU8h9PbbKR/xphb3rZ77CLyLRF5dYN/D1/V5tNACfjqZttR1cOqOq+q80NDQzde8Uaht9XtN/LY63kOp7fZSP+MMYY69thV9d1b3S8iHwZ+AXhQVdWpwowxxtyYhoZiROQh4HeAd6hqxpmSjDHGNKLRWTF/DYSAp0TkZRH5ggM1GWOMaUBDe+yqeptThRhjjHGG+355uunMlDpmjdT72Ot5Dqe32Uj/jDEGkHYc75yfn9cjR460/HmNMcbNRORFVZ3frp379tiNMcZsyYLdGGM8xoLdGGM8xoLdGGM8xoLdGGM8xoLdGGM8xoLdGGM8pi3z2EVkCTjjwKYGgWUHtuMW1l/vupX6CtbfG7VTVbddHrctwe4UETlSz2R9r7D+etet1Few/jabDcUYY4zHWLAbY4zHuD3YD7e7gBaz/nrXrdRXsP42lavH2I0xxryV2/fYjTHGXMOC3RhjPMYVwS4iD4nIcRE5ISK/u8H9fhH5eu3+50RkuvVVOqeO/v6miLwmIj8Skf8RkZ3tqNMJ2/X1qnaPiIiKiKunyNXTXxH5QO31/bGI/H2ra3RSHe/lKRH5joj8oPZ+fl876nSCiHxJRBZF5NVN7hcR+cva/8WPROSephWjqjf1P6ATeB2YBbqBHwJz17T5deALtcuPAl9vd91N7u+7gGDt8sfd2t96+lprFwK+CzwLzLe77ia/truBHwDR2vXhdtfd5P4eBj5euzwHnG533Q309wHgHuDVTe5/H/AfgACHgOeaVYsb9tgPAidU9aSqFoCvAQ9f0+Zh4Mu1y/8EPCgi0sIanbRtf1X1O6qaqV19FphocY1Oqee1Bfgj4E+BXCuLa4J6+vtR4POqGgdQ1cUW1+ikevqrQLh2OQJcbGF9jlLV7wKrWzR5GPiKVj0L9IvIWDNqcUOw7wDOXXX9fO22DduoaglIAAMtqc559fT3ah+huhfgRtv2VUTuBiZV9d9bWViT1PPa7gH2iMj3RORZEXmoZdU5r57+fgb4oIicB54EPtma0triev+2b5ivGRt12EZ73tfO0aynjVvU3RcR+SAwD7yjqRU1z5Z9FZEO4C+AX2lVQU1Wz2vrozoc806q38T+T0QOqOpak2trhnr6+4vA46r65yLys8Df1fpbaX55LdeynHLDHvt5YPKq6xO89evalTYi4qP6lW6rr0Q3s3r6i4i8G/g08H5VzbeoNqdt19cQcAB4WkROUx2XfMLFB1DrfS9/U1WLqnoKOE416N2onv5+BPhHAFX9PhCgumCWF9X1t+0ENwT7C8BuEZkRkW6qB0efuKbNE8CHa5cfAb6ttaMVLrRtf2vDE39DNdTdPAa7ZV9VNaGqg6o6rarTVI8nvF9Vj7Sn3IbV817+N6oHxxGRQapDMydbWqVz6unvWeBBABHZTzXYl1paZes8AfxybXbMISChqgtNeaZ2H0mu82jz+4CfUD3C/unabX9I9Y8cqm+GbwAngOeB2XbX3OT+fgu4DLxc+/dEu2tuVl+vafs0Lp4VU+drK8BngdeAV4BH211zk/s7B3yP6oyZl4Gfb3fNDfT1H4AFoEh17/wjwMeAj1312n6+9n/xSjPfy7akgDHGeIwbhmKMMcZcBwt2Y4zxGAt2Y4zxGAt2Y4zxGAt2Y4zxGAt2Y4zxGAt2Y4zxmP8HD6f9orOJaFEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Regressing y on X, X*T, T and setting CATE(X) = Pred(X, X*1, 1) - Pred(X, X*0, 0))\n",
    "from econml.utilities import hstack\n",
    "est = StatsModelLinearRegression().fit(hstack([X, X*T.reshape(-1, 1), T.reshape(-1, 1)]), y)\n",
    "T_one = np.ones(T.shape[0])\n",
    "T_zero = np.zeros(T.shape[0])\n",
    "driv_cate = est.predict(hstack([X, X*T_one.reshape(-1, 1), T_one.reshape(-1, 1)]))-\\\n",
    "            est.predict(hstack([X, X*T_zero.reshape(-1, 1), T_zero.reshape(-1, 1)]))\n",
    "print(np.mean(driv_cate))\n",
    "# We can also see how it compares to the true CATE at each target point and calculate MSE\n",
    "plt.title(\"Exog-T CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - driv_cate)**2)))\n",
    "plot_separate(X, X_pre, driv_cate)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 206,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5.848958113894934\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Doing a full fledged DML for conditionally exogenous treatment\n",
    "from econml.dml import DML\n",
    "dml = DML(model_Y_X(), model_T_X(), LassoCV(cv=3))\n",
    "dml.fit(y, T, X)\n",
    "dml_cate = dml.effect(X)\n",
    "print(np.mean(dml_cate))\n",
    "# We can also see how it compares to the true CATE at each target point and calculate MSE\n",
    "plt.title(\"Exog-T CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - dml_cate)**2)))\n",
    "plot_separate(X, X_pre, dml_cate)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# DMLIV CATE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 268,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\ndmliv_model_effect = lambda: model()\\ncate = GenericDMLIV(model_Y_X(), model_T_X(), model_T_XZ(), \\n             dmliv_model_effect(),\\n             n_splits=10, # number of splits to use for cross-fitting\\n             binary_instrument=True, # a flag whether to stratify cross-fitting by instrument\\n             binary_treatment=True # a flag whether to stratify cross-fitting by treatment\\n            )'"
      ]
     },
     "execution_count": 268,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from dml_iv import DMLIV, GenericDMLIV\n",
    "from utilities import SelectiveLasso, SeparateModel\n",
    "from sklearn.linear_model import LassoCV\n",
    "from econml.utilities import hstack\n",
    "\n",
    "np.random.seed(123)\n",
    "\n",
    "# We now specify the features to be used for heterogeneity. We will fit a CATE model of the form\n",
    "#      theta(X) = <theta, phi(X)>\n",
    "# for some set of features phi(X). The featurizer needs to support fit_transform, that takes\n",
    "# X and returns phi(X). We need to include a bias if we also want a constant term.\n",
    "dmliv_featurizer = lambda: PolynomialFeatures(degree=1, include_bias=True)\n",
    "\n",
    "# Then we need to specify a model to be used for fitting the parameters theta in the linear form.\n",
    "# This model will minimize the square loss:\n",
    "#        (Y - E[Y|X] - <theta, phi(X)> * (E[T|X,Z] - E[T|X]))**2\n",
    "# potentially with some regularization on theta. Here we use an ell_1 penalty on theta\n",
    "# dmliv_model_effect = lambda: LinearRegression()\n",
    "\n",
    "# We could also use LassoCV to select the regularization weight in the final stage with\n",
    "# cross validation.\n",
    "# dmliv_model_effect = lambda: LassoCV(fit_intercept=False, cv=3)\n",
    "\n",
    "# If we also have a prior that there is no effect heterogeneity we can use a selective lasso\n",
    "# that does not penalize the constant term in the CATE model\n",
    "feature_inds = np.arange(1, X.shape[1]+1)\n",
    "dmliv_model_effect = lambda: SelectiveLasso(feature_inds, LassoCV(cv=5, n_jobs=-1))\n",
    "\n",
    "cate = DMLIV(model_Y_X(), model_T_X(), model_T_XZ(), \n",
    "             dmliv_model_effect(), dmliv_featurizer(),\n",
    "             n_splits=10, # number of splits to use for cross-fitting\n",
    "             binary_instrument=True, # a flag whether to stratify cross-fitting by instrument\n",
    "             binary_treatment=True # a flag whether to stratify cross-fitting by treatment\n",
    "            )\n",
    "\"\"\"\n",
    "dmliv_model_effect = lambda: model()\n",
    "cate = GenericDMLIV(model_Y_X(), model_T_X(), model_T_XZ(), \n",
    "             dmliv_model_effect(),\n",
    "             n_splits=10, # number of splits to use for cross-fitting\n",
    "             binary_instrument=True, # a flag whether to stratify cross-fitting by instrument\n",
    "             binary_treatment=True # a flag whether to stratify cross-fitting by treatment\n",
    "            )\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 269,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 4.38 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<dml_iv.DMLIV at 0x22d26ee1668>"
      ]
     },
     "execution_count": 269,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "cate.fit(y, T, X, Z, store_final=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 270,
   "metadata": {},
   "outputs": [],
   "source": [
    "dmliv_effect = cate.effect(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 271,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ATE Estimate: 4.059\n",
      "True ATE: 4.244\n"
     ]
    }
   ],
   "source": [
    "# We can average the CATE to get an ATE\n",
    "print(\"ATE Estimate: {:.3f}\".format(np.mean(dmliv_effect)))\n",
    "print(\"True ATE: {:.3f}\".format(np.mean(true_fn(X_pre))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 272,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can also see how it compares to the true CATE at each target point and calculate MSE\n",
    "plt.title(\"DMLIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - dmliv_effect)**2)))\n",
    "plot_separate(X, X_pre, dmliv_effect)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 273,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "##histogram of estimated treatment effect\n",
    "import seaborn as sns\n",
    "\n",
    "sns.distplot(dmliv_effect, label='est')\n",
    "sns.distplot(true_fn(X_pre), label='true')\n",
    "plt.legend()\n",
    "plt.xlabel(\"Treatment Effect\")\n",
    "plt.ylabel(\"Frequency\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Algorithm 3 - DRIV ATE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 274,
   "metadata": {},
   "outputs": [],
   "source": [
    "from utilities import SubsetWrapper, StatsModelLinearRegression, ConstantModel\n",
    "from dr_iv import IntentToTreatDRIV\n",
    "from utilities import WeightWrapper\n",
    "\n",
    "np.random.seed(123)\n",
    "\n",
    "# For intent to treat DRIV we need a flexible model of the CATE to be used in the preliminary estimation.\n",
    "# This flexible model needs to accept sample weights at fit time. Here we use a weightWrapper to wrap\n",
    "# a lasso estimator. WeightWrapper requires a linear model with no intercept, hence the Pipeline\n",
    "# that adds a bias to the features.\n",
    "driv_flexible_model_effect = lambda: WeightWrapper(Pipeline([('bias', PolynomialFeatures(degree=1, include_bias=True)),\n",
    "                                      ('lasso',  SelectiveLasso(np.arange(1, X.shape[1]+1), LassoCV(cv=5, n_jobs=-1)))]))\n",
    "# Then we can also define any final model to project to. Here we project to a constant model to get an ATE\n",
    "driv_final_model_effect = lambda: ConstantModel()\n",
    "\n",
    "dr_cate = IntentToTreatDRIV(model_Y_X(), model_T_XZ(),\n",
    "                            driv_flexible_model_effect(),\n",
    "                            final_model_effect=driv_final_model_effect(),\n",
    "                            cov_clip=0.0001,\n",
    "                            n_splits=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 275,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 8.56 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<dr_iv.IntentToTreatDRIV at 0x22d2af7d780>"
      ]
     },
     "execution_count": 275,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "dr_cate.fit(y, T, X, Z, store_final=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 276,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th> <td>   0.000</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.000</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>     nan</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 04 Jun 2019</td> <th>  Prob (F-statistic):</th>  <td>   nan</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>08:47:19</td>     <th>  Log-Likelihood:    </th> <td> -43494.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td> 10000</td>      <th>  AIC:               </th> <td>8.699e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>  9999</td>      <th>  BIC:               </th> <td>8.700e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     0</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>    3.9367</td> <td>    0.187</td> <td>   21.011</td> <td> 0.000</td> <td>    3.569</td> <td>    4.304</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>288.968</td> <th>  Durbin-Watson:     </th> <td>   2.021</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td> 178.965</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td>-0.190</td>  <th>  Prob(JB):          </th> <td>1.37e-39</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 2.466</td>  <th>  Cond. No.          </th> <td>    1.00</td>\n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.000\n",
       "Model:                            OLS   Adj. R-squared:                  0.000\n",
       "Method:                 Least Squares   F-statistic:                       nan\n",
       "Date:                Tue, 04 Jun 2019   Prob (F-statistic):                nan\n",
       "Time:                        08:47:19   Log-Likelihood:                -43494.\n",
       "No. Observations:               10000   AIC:                         8.699e+04\n",
       "Df Residuals:                    9999   BIC:                         8.700e+04\n",
       "Df Model:                           0                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const          3.9367      0.187     21.011      0.000       3.569       4.304\n",
       "==============================================================================\n",
       "Omnibus:                      288.968   Durbin-Watson:                   2.021\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              178.965\n",
       "Skew:                          -0.190   Prob(JB):                     1.37e-39\n",
       "Kurtosis:                       2.466   Cond. No.                         1.00\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 276,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dr_cate.effect_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 277,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1.27943424e+01 -1.00120742e-01 -1.15385188e-03  7.22813126e-02\n",
      " -4.44815340e-02  3.24042659e-03 -2.97591147e+00  2.03067207e-02\n",
      "  1.20732229e-02  3.83274474e-02]\n",
      "-0.646778113463216\n"
     ]
    }
   ],
   "source": [
    "lr = LinearRegression().fit(X, true_fn(X_pre))\n",
    "print(lr.coef_)\n",
    "print(lr.intercept_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Projecting to subset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 278,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 2 3 4 5 6 7 8 9]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<dr_iv.IntentToTreatDRIV at 0x22d2af7d780>"
      ]
     },
     "execution_count": 278,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from utilities import WeightWrapper\n",
    "subset_names = X_data.columns.values\n",
    "#subset_names = set(['days_visited_as_pre', 'is_existing_member'])\n",
    "# list of indices of features X to use in the final model\n",
    "feature_inds = np.argwhere([(x in subset_names) for x in X_data.columns.values]).flatten()\n",
    "print(feature_inds)\n",
    "# Because we are projecting to a low dimensional model space, we can\n",
    "# do valid inference and we can use statsmodel linear regression to get all\n",
    "# the hypothesis testing capability\n",
    "lr_driv_model_effect = lambda: SubsetWrapper(StatsModelLinearRegression(),\n",
    "                                          feature_inds # list of indices of features X to use in the final model\n",
    "                                         )\n",
    "dr_cate.refit_final(lr_driv_model_effect())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 279,
   "metadata": {},
   "outputs": [],
   "source": [
    "driv_cate = dr_cate.effect(X[:, feature_inds])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 280,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "##histogram of estimated treatment effect\n",
    "import seaborn as sns\n",
    "\n",
    "sns.distplot(driv_cate, label='est')\n",
    "sns.distplot(true_fn(X_pre), label='true')\n",
    "plt.legend()\n",
    "plt.xlabel(\"Treatment Effect\")\n",
    "plt.ylabel(\"Frequency\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 281,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can also see how it compares to the true CATE at each target point and calculate MSE\n",
    "plt.title(\"DMLIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - driv_cate)**2)))\n",
    "plot_separate(X, X_pre, driv_cate)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 282,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.936742667104734"
      ]
     },
     "execution_count": 282,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# To get the ATE we look at the params of the fitted statsmodel\n",
    "dr_effect = np.mean(driv_cate)\n",
    "dr_effect"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 283,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th> <td>   0.053</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.052</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>   55.60</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 04 Jun 2019</td> <th>  Prob (F-statistic):</th> <td>6.40e-110</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>08:47:27</td>     <th>  Log-Likelihood:    </th> <td> -43223.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td> 10000</td>      <th>  AIC:               </th> <td>8.647e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>  9989</td>      <th>  BIC:               </th> <td>8.655e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>    10</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>   -3.0644</td> <td>    0.915</td> <td>   -3.349</td> <td> 0.001</td> <td>   -4.858</td> <td>   -1.271</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x1</th>    <td>   13.8712</td> <td>    0.629</td> <td>   22.050</td> <td> 0.000</td> <td>   12.638</td> <td>   15.104</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x2</th>    <td>    0.4269</td> <td>    0.628</td> <td>    0.680</td> <td> 0.496</td> <td>   -0.804</td> <td>    1.657</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x3</th>    <td>    0.8196</td> <td>    0.628</td> <td>    1.304</td> <td> 0.192</td> <td>   -0.412</td> <td>    2.051</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x4</th>    <td>    0.7034</td> <td>    0.628</td> <td>    1.120</td> <td> 0.263</td> <td>   -0.528</td> <td>    1.935</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x5</th>    <td>    1.0978</td> <td>    0.628</td> <td>    1.748</td> <td> 0.081</td> <td>   -0.133</td> <td>    2.329</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x6</th>    <td>   -0.4476</td> <td>    0.628</td> <td>   -0.712</td> <td> 0.476</td> <td>   -1.679</td> <td>    0.784</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x7</th>    <td>   -2.8441</td> <td>    0.365</td> <td>   -7.791</td> <td> 0.000</td> <td>   -3.560</td> <td>   -2.128</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x8</th>    <td>    0.2748</td> <td>    0.365</td> <td>    0.752</td> <td> 0.452</td> <td>   -0.441</td> <td>    0.991</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x9</th>    <td>    0.4102</td> <td>    0.448</td> <td>    0.915</td> <td> 0.360</td> <td>   -0.469</td> <td>    1.289</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x10</th>   <td>   -0.2732</td> <td>    0.630</td> <td>   -0.434</td> <td> 0.664</td> <td>   -1.507</td> <td>    0.961</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>312.694</td> <th>  Durbin-Watson:     </th> <td>   2.019</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td> 153.000</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 0.073</td>  <th>  Prob(JB):          </th> <td>5.98e-34</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 2.412</td>  <th>  Cond. No.          </th> <td>    11.3</td>\n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.053\n",
       "Model:                            OLS   Adj. R-squared:                  0.052\n",
       "Method:                 Least Squares   F-statistic:                     55.60\n",
       "Date:                Tue, 04 Jun 2019   Prob (F-statistic):          6.40e-110\n",
       "Time:                        08:47:27   Log-Likelihood:                -43223.\n",
       "No. Observations:               10000   AIC:                         8.647e+04\n",
       "Df Residuals:                    9989   BIC:                         8.655e+04\n",
       "Df Model:                          10                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const         -3.0644      0.915     -3.349      0.001      -4.858      -1.271\n",
       "x1            13.8712      0.629     22.050      0.000      12.638      15.104\n",
       "x2             0.4269      0.628      0.680      0.496      -0.804       1.657\n",
       "x3             0.8196      0.628      1.304      0.192      -0.412       2.051\n",
       "x4             0.7034      0.628      1.120      0.263      -0.528       1.935\n",
       "x5             1.0978      0.628      1.748      0.081      -0.133       2.329\n",
       "x6            -0.4476      0.628     -0.712      0.476      -1.679       0.784\n",
       "x7            -2.8441      0.365     -7.791      0.000      -3.560      -2.128\n",
       "x8             0.2748      0.365      0.752      0.452      -0.441       0.991\n",
       "x9             0.4102      0.448      0.915      0.360      -0.469       1.289\n",
       "x10           -0.2732      0.630     -0.434      0.664      -1.507       0.961\n",
       "==============================================================================\n",
       "Omnibus:                      312.694   Durbin-Watson:                   2.019\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              153.000\n",
       "Skew:                           0.073   Prob(JB):                     5.98e-34\n",
       "Kurtosis:                       2.412   Cond. No.                         11.3\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 283,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# To get the statsmodel summary we look at the effect_model, which is the pipeline, we then look\n",
    "# at the reg step of the pipeline which is the statsmodel wrapper and then we look\n",
    "# at the model attribute of the statsmodel wrapper and print the summary()\n",
    "dr_cate.effect_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 284,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ATE Estimate: 3.94\n",
      "True ATE: 4.24\n"
     ]
    }
   ],
   "source": [
    "print(\"ATE Estimate: {:.2f}\".format(dr_effect))\n",
    "print(\"True ATE: {:.2f}\".format(np.mean(true_fn(X_pre))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 285,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1.27943424e+01 -1.00120742e-01 -1.15385188e-03  7.22813126e-02\n",
      "  -4.44815340e-02  3.24042659e-03 -2.97591147e+00  2.03067207e-02\n",
      "   1.20732229e-02  3.83274474e-02]]\n",
      "[-0.64677811]\n"
     ]
    }
   ],
   "source": [
    "lr = LinearRegression().fit(X[:, feature_inds], true_fn(X_pre).reshape(-1, 1))\n",
    "print(lr.coef_)\n",
    "print(lr.intercept_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 286,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Coverage of True Projection: 0.91\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can also evaluate coverage and create prediction intervals using statsmodels attributes\n",
    "from statsmodels.sandbox.regression.predstd import wls_prediction_std\n",
    "res = dr_cate.effect_model.model\n",
    "predictions = res.get_prediction(PolynomialFeatures(degree=1, include_bias=True).fit_transform(X[:, feature_inds]))\n",
    "frame = predictions.summary_frame(alpha=0.05)\n",
    "pred = frame['mean']\n",
    "iv_l = frame['mean_ci_lower']\n",
    "iv_u = frame['mean_ci_upper']\n",
    "\n",
    "# This is the true CATE functions\n",
    "theta_true = true_fn(X_pre)\n",
    "# This is the true projection of the CATE function on the subspace of linear functions of the\n",
    "# subset of the features used in the projection\n",
    "true_proj = LinearRegression().fit(X[:, feature_inds], theta_true).predict(X[:, feature_inds])\n",
    "\n",
    "# Are we covering the true projection\n",
    "covered = (true_proj <= iv_u) & (true_proj >= iv_l)\n",
    "print(\"Coverage of True Projection: {:.2f}\".format(np.mean(covered)))\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "\n",
    "order = np.argsort(X[:, feature_inds[0]])\n",
    "ax.plot(X[order, feature_inds[0]], iv_u[order], 'r--')\n",
    "ax.plot(X[order, feature_inds[0]], iv_l[order], 'r--')\n",
    "ax.plot(X[order, feature_inds[0]], pred[order], 'g--.', label=\"pred\")\n",
    "#ax.plot(X[order, feature_inds[0]], theta_true[order], 'b-', label=\"True\", alpha=.3)\n",
    "ax.plot(X[order, feature_inds[0]], true_proj[order], 'y-', label=\"TrueProj\", alpha=.3)\n",
    "ax.legend(loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Lasso Final CATE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 287,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<dr_iv.IntentToTreatDRIV at 0x22d2af7d780>"
      ]
     },
     "execution_count": 287,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lasso_driv_model_effect = lambda: WeightWrapper(Pipeline([('bias', PolynomialFeatures(degree=1, include_bias=True)),\n",
    "                                      ('lasso',  SelectiveLasso(np.arange(1, X.shape[1]+1),\n",
    "                                                                LassoCV(cv=5, n_jobs=-1, fit_intercept=False)))]))\n",
    "dr_cate.refit_final(lasso_driv_model_effect())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 288,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can also see how it compares to the true CATE at each target point and calculate MSE\n",
    "dr_effect = dr_cate.effect(X)\n",
    "plt.title(\"DMLIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - dr_effect)**2)))\n",
    "plot_separate(X, X_pre, dr_effect)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Random Forest Based CATE and Tree Explainer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 289,
   "metadata": {},
   "outputs": [],
   "source": [
    "from dml_iv import DMLIV\n",
    "from dr_iv import DRIV, ProjectedDRIV\n",
    "from utilities import SubsetWrapper\n",
    "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor\n",
    "\n",
    "np.random.seed(123)\n",
    "\n",
    "# We need a model for the final regression that will fit the function theta(X)\n",
    "# Now we use a linear model and a lasso.\n",
    "rf_driv_model_effect = lambda: RandomForestRegressor(n_estimators=100, max_depth=3, min_impurity_decrease=0.1,\n",
    "                                                     min_samples_leaf=500, bootstrap=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 290,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf_dr_cate = dr_cate.refit_final(rf_driv_model_effect())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 291,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf_dr_effect = rf_dr_cate.effect(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 292,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8nNWV8PHfnRmNeu/Vknu3bMs2BgwGjOkthGAIISQkkJCE7JvyhmyypEHC7maTkA28qYTq0BLAlECMqaYY27h3yZbVey/T7/vHMzKyPNIUzUiyfb6fjz6WnnnKMcJz5rZzldYaIYQQYiSm8Q5ACCHExCfJQgghhF+SLIQQQvglyUIIIYRfkiyEEEL4JclCCCGEX5IshBBC+CXJQgghhF+SLIQQQvhlGe8AwiUjI0MXFxePdxhCCHFS2bp1a4vWOtPfeadMsiguLmbLli3jHYYQQpxUlFJHAzlPuqGEEEL4JclCCCGEX5IshBBC+HXKjFkIIcRoOZ1OampqsNls4x1K2MXExFBQUEBUVFRI10uyEEIIr5qaGhITEykuLkYpNd7hhI3WmtbWVmpqaigpKQnpHtINJYQQXjabjfT09FMqUQAopUhPTx9Vi0mShRBCDHKqJYoBo/17RTRZKKUuVkodUEqVK6Xu8vH6t5RSe5VSO5VSG5RSkwa95lZKbfd+rYtknEIIIUYWsTELpZQZeAC4EKgBNiul1mmt9w46bRtQprXuU0p9Ffgv4Hrva/1a69JIxSeEEP6s3VQV1vvduKwobPd6+OGHWb16NXl5eWG750giOcC9FCjXWh8GUEo9CVwFHEsWWus3B53/IXBTBOMRE8GWvwZ+btkXIheHECe5hx9+mLlz545ZsohkN1Q+UD3o5xrvseHcCvxz0M8xSqktSqkPlVJX+7pAKXWb95wtzc3No49YCCHG2eOPP87SpUspLS3l9ttvx+12c8sttzB37lzmzZvHr3/9a5599lm2bNnCZz/7WUpLS+nv7494XJFsWfgaTdE+T1TqJqAMOHfQ4SKtdZ1SajLwhlJql9a64ribaf1H4I8AZWVlPu8txJiRVpMYpX379vHUU0/x3nvvERUVxR133ME999xDbW0tu3fvBqCjo4OUlBR+97vf8ctf/pKysrIxiS2SLYsaoHDQzwVA3dCTlFKrgB8AV2qt7QPHtdZ13j8PA28BCyMYqxBCjLsNGzawdetWlixZQmlpKRs2bKCtrY3Dhw/zjW98g1dffZWkpKRxiS2SyWIzME0pVaKUsgJrgONmNSmlFgJ/wEgUTYOOpyqlor3fZwBnMWisQwghTkVaaz7/+c+zfft2tm/fzoEDB7j//vvZsWMHK1eu5IEHHuBLX/rSuMQWsWShtXYBXwdeA/YBT2ut9yilfqqUutJ72n8DCcAzQ6bIzgK2KKV2AG8C9w2ZRSWEEKecCy64gGeffZamJuOzc1tbG0ePHsXj8XDttdfys5/9jI8//hiAxMREuru7xyy2iJb70Fq/Arwy5Njdg75fNcx17wPzIhmbEEL4E86proGYPXs299xzD6tXr8bj8RAVFcWvfvUrrrnmGjweDwC/+MUvALjlllv4yle+QmxsLB988AGxsbERjU1qQwkhxARy/fXXc/311x93bKA1Mdi1117LtddeO1ZhSbkPIYQQ/kmyEEII4ZckCyGEEH5JshBCCOGXJAshhBB+SbIQQgjhl0ydFUKI4QRT7ysQfmqCdXR0sHbtWu64447wPjcMpGUhhBATREdHBw8++OAJx91u9zhEczxJFkIIMUHcddddVFRUUFpaypIlSzjvvPO48cYbmTdvHpWVlcydO/fYub/85S/58Y9/DEBFRQUXX3wxixcvZsWKFezfvz/ssUk3lBBCTBD33Xcfu3fvZvv27bz11ltcdtll7N69m5KSEiorK4e97rbbbuP3v/8906ZNY9OmTdxxxx288cYbYY1NkoUQQkxQS5cupaSkZMRzenp6eP/997nuuuuOHbPb7SNcERpJFkIIMUHFx8cf+95isRwrJghgs9kA8Hg8pKSksH379ojGImMWQggxQYxUdjw7O5umpiZaW1ux2+289NJLACQlJVFSUsIzzzwDGHti7NixI+yxSctCCCGGM8bb36anp3PWWWcxd+5cYmNjyc7OPvZaVFQUd999N8uWLaOkpISZM2cee+2JJ57gq1/9Kvfccw9Op5M1a9awYMGCsMYmyUIIISaQtWvXDvvanXfeyZ133nnC8ZKSEl599dVIhiXdUEIIIfyTZCGEEMIvSRZCCDGI1nq8Q4iI0f69JFkIIYRXTEwMra2tp1zC0FrT2tpKTExMyPeQAW4h/Fi7qSqg86ZUtbGsJC3C0YhIKigooKamhubm5vEOJexiYmIoKCgI+XpJFkII4RUVFeV3xfTpSrqhhBBC+CXJQgghhF+SLIQQQvglyUIIIYRfkiyEEEL4JclCCCGEX5IshBBC+CXJQgghhF+SLIQQQvglyUIIIYRfES33oZS6GLgfMAN/1lrfN+T1bwFfAlxAM/BFrfVR72ufB37oPfUerfUjkYxVCBEmW/4a+LljvBOdCF3EWhZKKTPwAHAJMBu4QSk1e8hp24AyrfV84Fngv7zXpgE/ApYBS4EfKaVSIxWrEEKIkUWyG2opUK61Pqy1dgBPAlcNPkFr/abWus/744fAQEnEi4D1Wus2rXU7sB64OIKxCiGEGEEku6HygepBP9dgtBSGcyvwzxGuzR96gVLqNuA2gKKiotHEKoQ4XUm3WUAi2bJQPo753FFEKXUTUAb8dzDXaq3/qLUu01qXZWZmhhyoEEKIkUUyWdQAhYN+LgDqhp6klFoF/AC4UmttD+ZaIYQQYyOSyWIzME0pVaKUsgJrgHWDT1BKLQT+gJEomga99BqwWimV6h3YXu09JoQQYhxEbMxCa+1SSn0d403eDDyktd6jlPopsEVrvQ6j2ykBeEYpBVCltb5Sa92mlPoZRsIB+KnWui1SsQohwm/TEf//ZCvcxpa1Ny6TMceJLqLrLLTWrwCvDDl296DvV41w7UPAQ5GLTgghRKBkBbcQQgi/JFkIIYTwS5KFEEIIvyRZCCGE8CuiA9xC+BLILBkwZsrILBkhJgZpWQghhPBLkoUQQgi/JFkIIYTwS5KFEEIIvyRZCCGE8EuShRBCCL8kWQghhPBLkoUQQgi/ZFGeEEIgJdX9kZaFEEIIvyRZCCGE8EuShRBCCL8kWQghhPBLkoUQQgi/JFkIIYTwS5KFEEIIvyRZCCGE8EuShRBCCL8kWQghhPBLkoUQQgi/JFkIIYTwK6BkoZSaG+lAhBBCTFyBtix+r5T6SCl1h1IqJaIRCSGEmHACShZa67OBzwKFwBal1Fql1IURjUwIIcSEEfCYhdb6EPBD4HvAucBvlVL7lVKfilRwQgghJoZAxyzmK6V+DewDzgeu0FrP8n7/6wjGJ4QQYgIIdKe83wF/Av5da90/cFBrXaeU+mFEIhNCCDFhBJosLgX6tdZuAKWUCYjRWvdprR8b7iKl1MXA/YAZ+LPW+r4hr58D/AaYD6zRWj876DU3sMv7Y5XW+soAYxVCRMjaTVV+z5lS5X97UnHyCXTM4nUgdtDPcd5jw1JKmYEHgEuA2cANSqnZQ06rAm4B1vq4Rb/WutT7JYlCCCHGUaAtixitdc/AD1rrHqVUnJ9rlgLlWuvDAEqpJ4GrgL2D7lPpfc0TTNBCCCHGVqDJolcptUhr/TGAUmox0O/nmnygetDPNcCyIGKLUUptAVzAfVrr54O4Vviy5a+Bn1v2hYC6HAbcuKwohICEECeLQJPFvwHPKKXqvD/nAtf7uUb5OKYDDQwo8g6gTwbeUErt0lpXHPcApW4DbgMoKpI3KyGEiJSAkoXWerNSaiYwAyMJ7NdaO/1cVoOxiG9AAVA3zLm+nlnn/fOwUuotYCFQMeScPwJ/BCgrKwsmEQkhhAhCMIUEl2DMWlqIMVh9s5/zNwPTlFIlSikrsAZYF8iDlFKpSqlo7/cZwFkMGusQpzgtQ1hCTDQBtSyUUo8BU4DtgNt7WAOPDneN1tqllPo68BrG1NmHtNZ7lFI/BbZordcppZYAzwGpwBVKqZ9orecAs4A/eAe+TRhjFpIsTgNpnXuYUvscnQlTSeqpAFMZKF89mkOUfSHywQlxGgt0zKIMmK21DqqrR2v9CvDKkGN3D/p+M0b31NDr3gfmBfMscfKLsbcyue5F7FGpJPTVMKv7ICQ5YdKZ4x2aCEBHn4Md1R2kWcykRrn9XyBOKoEmi91ADlAfwVjEaUx5nEyteRaPMrO/+Cac5nhmVT5CYvl6KFwGJvN4hyiG0edwsWF/Ex8dacPt0Wy1FnPX1GoKYx3jHZoIo0DHLDKAvUqp15RS6wa+IhmYOL3ktm4i3tZIRf7VOKKS0SYLdZlnQ3871H083uGJETy9pZpNh1tZWJjC55dPwuVR3H1gEvu6Y/1fLE4agbYsfhzJIIRI79xNV1whnYnTjh3rSJgOiblQvgHyF4OSjR0nmkNN3Rxs7OGSuTmsmJYJwD0zK7n3UBH/rzKX38w9jCmAIScx8QW6n8XbQCUQ5f1+MyAf90RYxNqaibM30ZY05/gXlIIpF0BPAzTuGZ/gxLA8WvPq7gZS46JYPjn92PHMaBdr8ptpdFjZ2pkwjhGKcAq0RPmXgWeBP3gP5QOyolqERVrXHjTQljS0dBiQtxCik6Fm85jHJUa2vaqD+k4bq2fnYDEf/1ayJKWbTKuTlxrTxik6EW6Btuu/hrHWoQuObYSUFamgxGlEa9I799IdNwlnlI9PoSYzZM2CloPgkRk2E4Xbo1m/r5GC1FjmFSSf8LpZwSVZbezviaOiN2YcIhThFmiysGutj01tUEpZCK50hxA+xdqbiHW00Jo8Z/iTMmeCywYdR8cuMDGiIy29dPY7WTEtE9Mw62DOy+gk1uTm5abUMY5OREKgyeJtpdS/A7HevbefAV6MXFjidJHeuQeNoi1p1vAnZUwHFDTvH7O4xMh21nQQbTExMydx2HPizB7Oz+jkw7YkOp0y9flkF2iyuAtoxtiM6HaMhXayQ54YteTew3THFeCyxA9/kjUOUidBkySLicDl8bC7rpPZuUlEmUd+Czk7vRM3iu1dI/x+xUkh0EKCHoxtVf8U2XDE6cTkcRLX30B9xnL/J2fOhIOvgaMHrKfZDJsgS8tHWnljDzanh/k+xiqGKo61k2xxsb0zgXPTuyIem4icQGdDHVFKHR76FengxKktvr8WEx564gr9n5w5E9DQfDDicYmR7aztJDbKzJQs/0nbpKA0uYcdXfG4ZZTzpBZMbagBMcB1gMyJE6OS2GdsrtQdSLJIKYKoOGPcIn9RhCMTw3G4POyt72JBQTIWU2C92AuTenm7NYXy3lhmJPjbM01MVIEuymsd9FWrtf4NcH6EYxOnuMS+avqiM3GbAygLoUyQNgXapEE7ng42duNweZhfkBLwNfOSelFotnXKuMXJLNBuqEWDvsqUUl8Bhp8GIYQ/2kNCXw3dcUHscJg6CfpawNEbubjEiA41dRMTZaI4PfA3/gSLhxkJ/WzvOs3Gmk4xgXZD/c+g710YpT8+E/ZoxGkj1t6MxWMPbLxiQIo3sXRUGQv1xJjSWlPe1MPkjATMQRZ8Kk3q5cm6TDqcZlIGlS+fUvWM8Y05gF5t2bNkXAU6G+q8SAciTi9BjVcMSC4ClLE4T5LFmKtq66O9z3msYGAwSpN7eLIuk+2dCazM6IxAdCLSAt0p71sjva61/lV4whGni8S+ahyWBOxRgfd9ExUDCdlGy0KMuXcPtQAwNTP47qTiWDuJFhd7e+IkWZykgpkNtYRP9tC+AngHqI5EUOLUl9BXY3RBBbJl6mApRdC0F7QO/loxKhsPtZASG0V6gjXoa5WC6fH9HOyROlEnq0CTRQawSGvdDaCU+jHwjNb6S5EKTJy6zG4bMc4OmlNDmAKbUgQ1H0F/G8Sl+z9fhIXbo3m/ooXp2YmoEJP09IR+dnXGkNz8ETl9h4jvr+NozsW0psgOyieDQMt9FAGD90h0AMVhj0acFuJsDQD0xuQEf3HKJONP6YoaU7tqO+myuQJaiDec6fH9fNvyNDObXiXa0YnTksjkunUk9kqByJNBoC2Lx4CPlFLPYVSbvQZ4NGJRiVNafL83WcSGkCyScsFkMZJF3sIwRyaGs/FQMwBTQhivGDDXUk2p+VU+sJ6BadpqzO5+5hx+iGnVT0NxASQEP3Auxk6gi/LuBb4AtAMdwBe01j+PZGDi1BVna8BhScBlCeGNx2SBpHwpVz7G3itvZXZuEgnRgX6+HEJrpje+ik1Fc7/bmHXvNsdyYNKNKO2BAy+HMVoRCcFsahwHdGmt7wdqlFIlEYpJnOLibQ2hdUENSCmCzhrQnvAFJYblcHnYVt3OGZNDHyNK7T5Icu9hXo6+lG39WcfqRNmtqTSnlkLDLrB3hyliEQmBruD+EfA94PveQ1HA45EKSpzC3E5i7c30jSZZJOWD2wG9reGLSwxrT10nNqeHJcWhb2KU1b4Fe1Qy9all2D0mjvZHH3utKXURaDdUbwpHuCJCAm1ZXANcCfQCaK3rkHIfIhTd9Sj0KJNFnvdedeGJSYxoS2U7AItDTBYWVx/JPYdpTZ7DtARjnszBnk/qgdmiM426X1UfSmtxAgs0WTi01hrvVqpKKakIJkLTWQuEOLg9IDEHUNAlyWIsbK5sozg9jqzE0NZIpHbtR6FpTZpDhtVFapSTg71DikdOOtOo+9VyKAwRi0gINFk8rZT6A5CilPoy8DqyEZIIRVctLlM09qhR7MtsthozZ7pqwxeX8ElrzZaj7ZQVh74jQXrXHvqtafTF5BxbnHeoZ0iyyFkAUfFQ/eEoIxaREmhtqF96997uAmYAd2ut10c0MnFq6qqhLyZ79KuvE/OgUwoIhMPaTcOvWWnuttPW68Dj0SOeNxyLq4ek3krqMs4+9jufEm9jU0cSPS4TCRZvt5PZAjnzoH47eNxgkj27Jxq/LQullFkp9brWer3W+rta6+9IohAh8bihq47emNzR3yspH/pawWkb/b3EsI62GuXgJwVRknywtK59RhdU8uxjx4rjjN9ZZd+Qbq3MmeCyyYLLCcpvstBau4E+pZT/DXeFGEl7JbgdRstitGSQe0xUtvYRZzWTEUI9KIC0rv30WzPoj846dqwk1g7Akf4hySJjOqCgeV+o4YoICnSFjQ3YpZRaj3dGFIDW+s6IRCVOTU17AeiPyfJzYgAGkkVXHaRNHv39hE9HW3spTo8PqR6U8rhI7Ks2psYOuj4pyk16lJMjfdHHX2CNg9RiaNoPMy4dZeQi3AJNFi97v4QIXeNeQNEfHYayDjEpEBUrLYsI6rY5ae11sLQktMHthP5aTNpFV/yJ63eL42wndkOB0RV18FWw90C07Kw3kYzYDaWUKgLQWj/i68vfzZVSFyulDiilypVSd/l4/Ryl1MdKKZdS6tNDXvu8UuqQ9+vzwf7FxATUtAfi0vGYokZ/L6WMQW6ZPhsxVW19AExKiwvp+qTeSjTQFX/i1rklcXbqbFZs7iEtlqxZgIaWAyE9U0SOvzGL5we+UUr9PZgbK6XMwAPAJcBs4Aal1Owhp1UBtwBrh1ybBvwIWAYsBX6klBrFXEsxITTu/aT7KByS8qCrXhZyRUh1Wx9mkyIvJdb/yT4k9VbSF5OL23zi9cVxNjSKqv4hXVHJBWCNhyYZt5ho/CWLwWk/2I7hpUC51vqw1toBPAlcNfgErXWl1nonMPRf+0XAeq11m9a6HVgPXBzk88VE4rRBW4V3QV2YJOWB2w59beG7pzimqq2fvOQYLOZgSsgZlMdJQn8NXfGTfL5e4p0RdWRoV5QyQcYMaDlobHAlJgx//xfoYb4PRD7H76RX4z0W6WvFRNRywGgBJIaxZZE4aJBbhJXbo6nt6KMwxC6oxL5qTNpNp4/xCoD0KBeJZteJyQIgfQrYu4yp0WLC8DfAvUAp1YXRwoj1fo/3Z621ThrhWl/TJwJNOAFdq5S6DbgNoKjoxH5RMYE0GjOhSMqF5jDdMykXUDLIHQENXTacbk3RqMYrFN1xvv9dKgXFcXYqh06fBUj1dmK0H4b4jJCeL8JvxGShtR7NMsoaoHDQzwVAoP+qa4CVQ659a+hJWus/An8EKCsrkzbrBOD2aPbVd3GwsZtDTT302FyYTYrLGzayyGTFE5MBdIbnYWar8WYyAVoWuc3vUVK7DiyzIWv2ST+Tp9o7uB1qyyKpt5Le2Dw85uhhzymJs/FyUxquoZ3QidnGTLe2I1CwNKTni/ALcSeTgGwGpnn3vagF1gA3Bnjta8DPBw1qr+aT8uhignG4PLywvZZ/7WlkY3kLnf1OACwmRWKMBZdHc75nJ/vI5YaXs7k008KVOa2YR1nxAzDGLTrHt0bU5JrnWLr7J8YPO7YbGzSdccdJvf6jqq2PxGgLKbHBz1xTHhfxtnoa0kZ+oy+Os+HWihrbkISiTJBSbCQLMWFELFlorV1Kqa9jvPGbgYe01nuUUj8Ftmit1ymllgDPAanAFUqpn2it52it25RSP8NIOAA/1VrLKOYE09hlY2N5C7tqO3G4PGQlRnPh7GxWTMtgTl4yk9LjiPIOjnr+55vUpy5labeTJ+sy2dKZwNeK68iLcY4uiKR8qN8xbvPyp1Y9zdI9P6M+fTk1meewJNMFWx+GbY/DOf8XokKr1DreqtuM8YpQFuPF2RowaTc9cQUjnjfsIDcYifbAy+DoNWZHiXEXyZYFWutXgFeGHLt70PebMbqYfF37EPBQJOMToWnssvGvvY3sq+8iyqyYX5DCd1bPYFlJGiaTjzeX/nZM3fXkn7GYP0d38qutTv5SlcMP9xdzz8zK0SWMgUHupr1QOLZdFlHObkoP/IaG9GW8XfYAJTXPQ3IuLLwJ3vst7Pk7lH52TGMKh167i9ZeB0tCrDSb0G+09HpiR56TkhPtJMbk9iaLIf8PpHkHxtsrIXtOSHGI8Ap+Tpw4bTndHv61t4HfvVHOkZYezp+Zxf+9aCbXLipg+ZR034kCPhnczjL+0Z+V1s0vZlViVpr/LC+kyzWKobEkb1HCxt2h3yNE04/+Daurm20zvnX8QsPUEph2IdRsPlbi5GQy2vGKhP5aHJZEnFEjzX8B08Ag99CyH2BsnavM0HY4pBhE+EmyEAFp63XwwJvlvHWgmfkFyXzrwhmsmpVNfHQAjdOBN8ysWccOZUc7+e6UGlodFv6nIh+nJ8QBjNg0sMRA457Qrg+RxdXHjMrHqM08h/bkoWtNgWkXGSVJKt4c07jCoaq9D5OC/BAX4yX01/ptVQwojrVR2R9zbE/uY8xWY4Feu4xbTBSSLIRfh1t6ePCtcrptLm45s5jrygpJCCRJDGjaCzHJJ6zenp5g447ievb3xLGuMcTNdZQy7tswti2LaVVPEePsYPfU232fYDJD8dnQeshYZX4SqWrrIyc5Bqsl+LeHaEc7MY52euICTBZxduweE5U9PlqXaSVGuXK3K+g4RPhJshAj2t/QxV83VhJvtXDHyilMzw5h6/XGvUYXlI/B0jPTujkjtYvn69Nptoc4hJaYZ7QsxmrFr/Ywo/Jx6tOX05oyf/jzipaDKQoq3xmbuMLAozU17f0hr69I79gF+B+vGDAwyL273cfvPrUEPC5ZRzNBSLIQwzrc0sPaTVXkJMfwlXOnkJ4w/Jz5YWlt1PkZ1AU11OcKmgB4rCbE0uVJeeDoHrNNczLbtxFnb+JA7lUjn2iNh4IyqNlizOo5CTR22XC4PKNIFjvRKHpjAlupXxBrx6I87O3wkSxSvKVC2o+GFIsIL0kWwqfdtZ089sFRUuOt3HJmMbHWEAehO2vA3gnZPvr1vTKsLq7ObWVTRxK7ukJ4kxro3hqjQe6UIy/Rj5Wvb83ir+8d4eOj7XiGa9UUrwCPE6o3jUlsozVQabYoLbTpqhmdu+iLzsJjDmyzJIuColg7ezp8rOeISYboJOiQZDERSLIQJ+hwKG5/bCuxUWa+eFZJYIPYwxmoHpo18vTHK7LbyLI6WFubGXxvUqK37EeEB7m11qzfXcukxtfZyCJKpxTQ2uvg2Y9rePvgMDVMkvKMDX1qtkQ0tnCpau0j3momNS6EMvLaQ3rHLnoDHK8YUBxnZ3eH5cTfu1JG60KSxYQgyUIcx6Ph25uTaO62c+OyIpJDWMF7nCbvG/gI3VAAVpPmypw2DvfFsq8nyFk4lmhjMDTCLYsdNZ30V2wkS3Vgmf8pLp2Xy7cvnM78gmRe39vI3u5h4s5bZPS7dzdENL5wqGrroyjExXiJvUexuroDHq8YUBxro8Nhoq7fx9tR6iTobT5puvFOZZIsxHH+eDCODfXR/PDyWRSkhtZvfZzGvcYq69gUv6eem95JksXFi43pwT8ne05EZ0T1O9y8sque62M34zLH0JSzEgClFNeU5pMWb+W3R/Jotft4k80tBRTUfRyx+MJhYDFeqOMVGZ3BDW4PGHGQe2DcYozGo8TwJFmIY/Z0WPjl7nguK7DxuTN870MQtKa9RmG9AFhNmosy2/m4M4Ga/sD6vI/Jnmcs4IrQJ9D1+xrotztYrT6iNmvlcRv6REeZuWFpET0uM/fu9FFyJCYJMqZB7ccTeo+GY4vx0kMf3Haa4+mPDq5S7KQ4Oya073GLlEJASVfUBCDJQgDg8sD3tiSSYvVw76LukLohTuB2GpvYjDC4PdTqrA6sysOLwa67yJ4DaGjaH9x1Aaht72fT4TY+W9BMvKud6uwLTjgnLyWWVZkdrKuKob7Pxz+rvEXQ1wKd1Se+NkEMLMYrSAl92mxrylyjEGAQok2aKUlu9viaEWWJMarQSsti3EmyEAD8+VAcuzui+NnCHlKsYfr021oBbkfALQuAJIub8zI6ebctmU5nEDOwBuoHNe4KMkj/3jrYRKzVzDWJ+/BgoiF9uc/zLs1qx6Ph4XIfYxc5843yFRO4K2o0i/HMbhup3QdpTZ4X0rPnprh8JwswuqLaj07oVtnpQJKF4Ei3mV/viefifBuXFNjDd+Njg9uBJwuA1ZntuLV0EXxeAAAgAElEQVTinbbkwC9KmQTWxLDPiKrt6GdvXRdLitMobPuA1pR5OKy+48qKdnJJgZ21R2LpcQ5pmVnjIGsm1G2fkG96o12Ml9q1H5N20ZISWrKYk+Kkod9Ms81HizZlEjh7x7X0h9XRSVbbFibVvUx6+45xi2M8RbTqrJh4Nh05sdL7f5YXYMLD1enVbDriBqDCHYZmf8MuY2+HzBlBXVYQ62BafD9vtiSjdaevhd8nMpmM7q4wD3I/8aHRV35OgSK9aje7pn51xPNvm97HyzUxPFUZw63T+o9/MXeBkcwmYJdKOBbjAbSmzCe/Mfh6WHNSjJIeezqiWJnjOP7FVO/4Wc3WcdkjJNbWxMyjj2N19VBS7y2inXQvnPn1MY9lPEnL4jS3vTOejzsT+FRuK6lR7vDevGEXZM4yprYG6byMDmpt0WxrC+LzTPacsJb9sDndPLm5mlm5Sczs3YpCU5959ojXLEhzsTTDwUOH4k4sjpfl7c+vn3ifTEe9GK9jJ70xudiCHNweMHsgWfiaEZWQYxQWrB37tSpx/fXMqnwEgN0lX+SlFS9QlX0h/OsHsOPJMY9nPEmyOI25tVFiIzvawSVZ7eF/QMMuyAmtW+LM1G6iTR6ergxizUX2XGO1eGdNSM8c6uWd9bT1Ojhjcjp5zRuxRaXSmux/b4XPTemnts/MpuYhs3uscZAxHRp2TLiuqKrWPuKjLaEtxgPSO3eF3AUFkGzVTIp3sdvXuIXJbFSgHeOFjcrjZlrNs3hMVvaW3EJvXAFdCZN5f8F9xsr8F74G1Zv93+gUId1QE9TaTYF3Vdy4rCikZ7zenEKNLZrvTKkhyhTmN6/uRuhpDDlZxJo9nJHaxYvVSfzHgh7iLQHElz3X+LNxt3fK5eg8+uFRpmTGMyUjlpxd79GQsTygmT6rcu3EmT28WB3DmVlDNvXJXQA7nzISae4IRQjHWFVbH0WpsSHNgouxt5DQX8fBSYHumuzb3FQXO9uHSVYpk+Doe+BygCXIadUhymr/mBhHO/uLbsBu/WR2nsdshTVr4X8Xwxs/g8+vG5N4xpu0LE5TPS4TT9dlMjexl7LknvA/oME7K2kUb4jnZ3TS6zLxSk2A3VgDU3QbRj8j6khLLzuqO1izpIi07gPEOtqozzwroGtjLXBhnoNXaqJxeIbGOA9QsPeFUccYLqNdjDdQaTbUmVAD5qS4qO410+kYZpDb7YjIbDdfTG47+c3v0BU3ic6EqSeeEJMEZ90JR96Gqg/HJKbxJsniNPVsfQa9bhM3FzQFNoAcrAZvv/zAp/0QzIjvZ1K8ixeqAtzHOjoR0qdB3baQnzngxR11KAWXL8glp9V4M6jPODPg668stNHpNPFuw5BPwdEJkD7VSBYTpCtq1IvxOnfhUWbakkcu6eLP3GOD3L7KlQ8a5B4Dua0fEOXupSp7FShFh9PMrq44bM5B43plX4S4DHjrvjGJabxJsjgN1dqs/KsplQsyOpgUF8apsoM17DK2xgygzMdwlIKriuy83xRFk6+6Qb7kLRx1stBas25HHUuK08hNjiWn5QM6EqYGNXi7IsdBcpSHddU+El1eqbEpUhhaQOFQ1Ta6xXgZHTvpSJx+3Kr2UMxJNbrsfCaLmBRIyB6TQW6Tx0FO6ybaEmfyhn0G39g1mdt3TuOeQ0X85vWD7KnrNE60xhuti8NvQvVHEY9rvEmyOA09Wp2F1eTh+ryWyD2kYZexEG2Uriy04UHxUqBdUfmLoLt+VLvT7W/opryphysW5IGzn6z2j2nIOCOoe1hNcGmBnfV1VvqHbvSWu8CYUrz72ZBjDKfRLMZDe0jr3EPLSJtABSg9WpMb62a3r3ELpSC/bEwGudM692Lx2Hkz+jzuP5xPnNnDTQVNfGtyDfHRFp7YVMV3n9mB1hqWfMlIZJv+EPG4xpski9PMts54tnclcG1eK0nhnio7wN5jrN4OQ7KYmuRmTooz8K6ovEXGn6NYKb1uRx1mk+LSuTlQ9SFmj2PYVdsjuaLQRp/bxIb6IYnOmgCTz4Pd/wDP0EGNseX2jG4xXlLPEayunlGPVwyYkzLMjCiAgsXQVgF9J64VCqes9q20W7L4Xu2ZlMTb+NGMKq7IbmNZag93rJzKimkZPLO1hqe3VButi7nXwv6XwdYV0bjGmySL04jTA4/WZJET7eCSzAj+g2vcA+iQZ0INdVWhjR3tUb73aR4qZ563rEZoXVFaa17cUcdZUzOMnQEPv4VbWWhKKwv6XssynaRZPayv89EqmnedUSeqZny7Lw40dONwh74YL6NzYDFeeH7Xc1OdHO42n7gCHoyWBUS0ZEqsrZHE/lr+ZF9FQYyT70+tJs78SUI3mxQXzclh+eR0fvLiXo629sKCG8DVD/tO7VlRkixOI08cjqXOFs3nCpoIpcchYA3GG0i4poZeUWhHoVlXFUBXlDXO2DujNrQ3lG3VHdS093PlAu/ue4ffpCVlAS5L8G+mZgXn59p5s8GKc2gDYualRpG8Xc+EFGe4bD1qfGgIdTFeescuHJZEuuKLwxLP/FQXGsUuX4vz8hcZU5cjuLYhq30bTiw85TyHb5TUkWA5seVnUor/+cwCzCbF/3lqO67cRZA25ZRfpCfJ4jTR3uvg13vimZfYy+JITJUdrG47xKYZ+1iEQW6ch6UZTp6vjglsAlHeQuPTZwizjdZtr8NqMbF6Tjb0tkL9ThqDHK8YbFWenS6niS0tQ/rhoxNh+sWw53mjOu842XSkjaSYUSzG69hFa3LwlWaHsyDN+G+xw9e4RXSisUq/OjJTVZXHRVrHTv7pXsKSTBcFsY5hz81LieVnV83l46oOnt9RDwvWQOW7E7KUS7hIsjhN/Pr1g3Q7FTcXNkZmquxgNZuhYAnhfNBVRTYOd1uGr0w6WN5C6G8Peg8Et0fz8q56zpuRSVJMlDGHHk1DeujJYkW2E6tJ8/rQcQsw3mD6WuDAKyHffzS01mw60kZJRnxIi/HMrj5Seg6FrQsKjEHuong324cr81J4htGycA+dNTB6yd3lWD02XtJnc10Akz+uKs1jVm4SD75VjnvudcbBnU+FPa6JQpLFaWBPXSePf3iUz03pp2iET0th0d8OLQeMZBFGl+TbiVI6sIHufO8gd5BdUZsOt9LcbefKBd4WUcUGiEk2PjmHKN6iOTPLwet11hMbOtNWQ3IhfPSnkO8/GpWtfTR32ynOCK0LKq1rLybtDstMqMFK05xsbxumpVN0hlGBNgKL88yt+2nViRTkZPnsfhpKKcXXzpvC4eZeXquLMRLZnufDHtdEIcniFOfxaO5+YQ+pcVa+NWcM9jGu9S6aKgxvskiN1pyb42BddfSJBfqGyppjFJ4LciD0xZ11xFvNnD8zy+jCKt8Ak89Dm0ZXFWdVrp2jvRYquocM0JvMsORWo/uiad+onhGKTYdbASgJMVlkDFSaDdNMqAGlaUa58gZfa2uKvLPSqjaF9Zm47BT07+cNXcYFmd0BX3bJ3FwmZ8bzwJvl6FmXG6Vm2savlHokSbI4xf1jWy3R1e/y12kbSS5/jsz2bZFdOVy92ei/zl8c9ltfWWSj0Wbmo6EF+oayWI21DEG8oThcHl7Z1cCFs7OJtZqN7WC762HqqlFGDRfkGq05n7OiFt4M5uhxaV18dKSNjAQrmQnBVwUGyGrbSmd8CfboIHc19KPUO27hs3WRnG+0xqo+COsza47sIwYH7Smzg5r8YTYpvnruFPbUdfGh1ZvI9r8c1tgmCkkWp7D2HhtdL/2QtdafM3//b6DyPSbXvcisykeItkdo6mzNR8ZmR9GJYb/1QIE+n6uihyo+22hZ2AMbzN9Y3kxnv5MrS72zoA6tN/6ceuIWqsHKjfMwN8XJhnofBfDi0415+jueBFvnqJ8VjE1H2lhakhbSeIXSbjLbt9GUFv4PBbNTXEQpzbbWYVp0RWcY9ZjC+KGnvXInTTqZKTnpQV979cJ88pJjeGC72yhvI8lCnFTcLqr+cB1f1M/RPvOz8P1auOS/qMi7kjhbI3MP/5loR5gThsdj1O4pCH5NQiDiLLA63yjQZ/e3nrB4BXhcARd5W7e9juTYKM6emmkcKH/d6M5Kyhtd0F6r8uxsbY2i1e7jjXnZ7UY//Hv3h+VZgahp76O2o5+lxaG1CpK7y7G6umlOXRTmyCDGbCSMEcctehqCnsAwnOZuO9Ntu9hlXUhCCJPCoswm1iwtYmN5C51Fq43ZWj3NYYltIpFkcYoqf+HnLOh+h7eLv0nq9Q8YBeyUoiW1lN1TvgwKplU/i/KEcdpmy0FjP4mCpeG75xBXeQv0vTW0QN9QRWeAKQoq3/F7z167i9f2NHLZ/Fyj5IW920gy00bfBTVgVa4DjeINX7Oi8kqNhV3v/6+x8n0MbDpsfFBYNjn4T9IAWW1G2Y1QFisGojTNya52i+/xqULv7LQwVXvdvOcA0cpJVNa0kO9xXVkBJgXP2xeC9sDBV8MS20QS0WShlLpYKXVAKVWulLrLx+vRSqmnvK9vUkoVe48XK6X6lVLbvV+/j2Scp5ru6j0U7byfdyxnsfymH58whdVuTaM8/xribQ0U1/8zfA+u8S6WKoxcsliR7SAj2s2zR/0UrbPGG+MmR971e8/1exvpd7q5ZqF3FtSRd8HjDMt4xYA5KS5yYt2+u6IAVv3EGLv45/cC717pbzf2eNjyV9j6MOx7MaC/LxjjFcmxUczIDq27MKt9Kz2xefTF5oZ0vT+laU763CYOdvpYtZ81C6KTjb/7KDndHhKbP6bVlE50ck7I98lNjmXljCwe2BuLTi6E/S+NOraJJmLJQillBh4ALgFmAzcopWYPOe1WoF1rPRX4NfCfg16r0FqXer++Eqk4TzXa7aL5iS/Ro2NI/8z9wxaH60ycRm3GCrI6tpPSfTA8D6/5yCiqljYlPPfzwWKCT02y8Wa9lRabn772khVQv93vWMBz22opSI1lcVGqceDQa0b9psLQ11cMpZQx5vJOgxWbry60xGxYeReUr/c/V7+vDbY/ARt+aqwA76yCrlo4/BY8cjk899UR6ydprXn/cAtLitMwmUJYC6M1mW1baU4N/3jFgNI0Yx2Fz64ok9n43Va8Nepxi3d2HOQMdtGTsXDU64LWLCmkqcdBVdZ5xu/C0Teq+000kWxZLAXKtdaHtdYO4EngqiHnXAU84v3+WeACFcpomzjmw+cfZLJtL1tnfY8500duVtdmnkO/NZ2ihvUoTxiKCh5519v9E9nezU9PsuHSiuf9rbkoXmF0CRwdfuZMc7eddw81c1VpnvHG6XYZn9CnXxT2HdkuyHXQ5zbxQdMw9112OxSdCc9/FbY+cuLr9h7Y8w94616j9tXklXDuXXD+3XDeD+Di+2DFd2DX0/D7FdBV5/MxR1v7qG7r55zpoe2XndhbSayjLSKD2wOKE9ykR3vYPHTl+4Ap5xlJcpTddpUbnyJKucmfOvq1IufPzCIrMZqnOueAy2YkjFNIJP9V5wPVg36u8R7zeY7W2gV0AgOdqCVKqW1KqbeVUisiGOcpY19tG7k7H+BI1FQuuO7rfs/XJjNHc1YT62glu22UBe1aK6D9SFi7boYzPdnNglQnzx6NHfmDZeFSY71F5fBdMy/uqMOj4epS7/+ale9AXyvMuSa8QQPLsxzEmT3Dd0WZo+Cmv8OUC+DFO+HZW2Hb40ZZ7u1rjS08j7wL+UuM5DD7KkjM+eQTsTkKLvgPuPVfRmvqiet8VkJ9t9xYnbxiWmZIf4+sdmMtTSSThVJwRqaD95t9LGYE478RQMUbIT+jpr2P6S3r6bBkYkkd/Ta8FrOJ68oK+Et1Lh5rIhwMYxfvBBDJZOGrhTD01z7cOfVAkdZ6IfAtYK1SKumEByh1m1Jqi1JqS3PzqTf7IBjtvQ7+/uhvKVYNpF3yA0zmwH61nYnT6EiYQn7zO1hco1i0d2yqaeSTBcCni23s7/RT/iMqFgqXjfgJ7/nttczNT2LaQN/9nueMLqipF4Y3YIxZPufkOHi9PtrYC8EXa5yxv/PS24xNdV74Gmx/3FjslTPP6KpasAZiU4d/UP5i+Mwj0Lwfnr4ZhrQa3z3YTH5KLMUh7oyX3foR/dZ0uuMmhXR9oJZnOmjoN/uuNpxWAqklo0oWL76/kzPVbkz5o++CGvCpRQXYtYXKlDPg4GvjXoI+nCKZLGqAwem6ABjaLj52jlLKAiQDbVpru9a6FUBrvRWoAKYPfYDW+o9a6zKtdVlmZmifkk4FDpeHrz62mTW2p+lLmUFy6dVBXX805yLMHgf5zf5nDg2rfL2xXWhaSej3CMKVhTasJs1TlX66omZcarzRNp84LrOvvoudNZ2ftCrcTqMLasalEBXg/hlBuiDXeAPcUzfC3gcWK1z63/DdCrjjQ6NrafU9sPAmY7e4QEy9AC77lZFwPnzw2GGX28MHFa2cMz0jtPUVHhe5Le8Z+5FHuMd4eZYxU++D4RZhTjnfaDW6gi9h43J76Pn4WcxKkzSpdDRhHh9SZgILCpL5e8886Gk0xsxOEZFMFpuBaUqpEqWUFVgDDC34vg74vPf7TwNvaK21UirTO0COUmoyMA04HMFYT1paa374/C5Sq15jqqolbtX3gh4zsEVn0JS6kKz2rUQ72oOOwey2QeXGiHwaH06yVXN5gY2/V8bQ6RjhTWvutcaK8l1Pn/DSI+9XEhNl4tOLC4wDR942ZhhFoAtqwPm5Rrn11/c1+j9ZKWPmT3JBaFVdF90M0y+BN+451re/o6aDbrvrk/UkQcro2Em0s4vazHNCuj4YkxPcZMW4+aB5mG67qReAoyekPUHePtjMhc436E6eDonhndF1zcJ8nmibgVamU2oKbcSShXcM4uvAa8A+4Gmt9R6l1E+VUld6T/sLkK6UKsfobhqYXnsOsFMptQNj4PsrWuvIbo91klq/r5Gnt9Tw7xnvQsokmB1cq2JAbea5aEwUNL0Z9LVZbZuNAb0wrksIxK3T++lzm/jbkRGm0SZmQ8m5sPPp42bOdPQ5eH57LdcszCclzvtmtPs5iE4yPrFGSHq0ZnG6M7BkMVpKweW/MqbkrrsTPB7eOdiCUnDW1NDWV+Q1v4NHWWjIODPMwZ5IKVie6eSDpijf4xbFK4ztaUPoinpr40ZKTRXELb057C2kyxfk0W1KoiZhHhw4dcYtIjptRWv9itZ6utZ6itb6Xu+xu7XW67zf27TW12mtp2qtl2qtD3uP/11rPUdrvUBrvUhr/WIk4zxZvX2wmbcONHPnfDeFXR9D2ReMaYUhcEYl0pi+jIzO3cT1NwR1bV7zRrDEwqSzQ3p2qOakuDgz08HD5bE4XCP0Dc//jLHat/qTT6BPba7G5vTw+TOLjQPdjcY01DnXRKwLasAFuQ5213ZR39kf0ecAxgr0i+6Boxthx1o2lrcwPz/5kwQZpLzmd2hOXYgzKvzlXHxZnuWgxW4+sQgjQEySsQD04GtB3bOh00b+0efwYMa84PowRfqJjIRozp2eybq+ecZGYJ21YX/GeJAV3CepDw638tqeBuYXJPNvqe8Zq5VLbxrVPesyzsJljqGwaUPgF2lNXtM7xrz3CL/J+vLl6X009Jt5eZfvaaIAzLzcuyud0RXl9mge/eAoZ0xOY2aOd97Ehw8aC/HO+mbEY74wzw7Ahn1NEX8WAAs/BwVL8Lz+Ew5V14c8Cyquv57U7kNj0gU1YHnmwLjFMMltztXGmFTj3oDv+ezmSq42b8RWfB4kZIUjzBNcvTCf5/q803EPBZfMJipJFieh9ytaeHFHHbNyk1hTmoFpx99g9pWQMLpBfrc5htqMs0npqSCrNbB+4OzWTST210S0n38k5+Y4mJro4k/vHBl+hlFMEsy4BHb/A+zd/GtPA7Ud/dwy0Krob4fNfzH+DumRW1A4YEqim+L0uLHpigKjm+Xi/8TU28RXTM9z7ozQ/j/JazImQNRljV2yKIp3kxfr5oOmYQa5515rdEXtDGxLU49HU7HpZXJUO3FLPhfGSI+3enY2DdZJtEblwYFTY9xCksVJ5r3yFl7aWc/s3CRuWFpISaN3Tn3ZrWG5f2PaUuyWJEoP/Cag1bHTq57EFpUCcz4VlucHy6Tg9hl97K3v4rltIzT3l38d+ttxrf8J9726n8mZ8aya5Z1Z9NGfwdENZ39rTGJWCi6Ylc375a302sO/45tPBYvZlLSaL1leYVFiaNVt85vfpju2gK74sZnxBsZ/qzOzHLzXZMXp9tHVGJ9hTNfe+cwJU4R9ebe8hdW2f+KISjY+QERITJSZS+bm8oqjFH3k7VNiNbcki5PI+xUtvLyrnjl5SdywtAiLycS0qmcgYwZMCs+AozZZqM06l4zOXRQ2vj7iuXH99eQ3vklF4bXj0gU14NpJNhYVpXDvy/vo6BtmGmVBGSy7HfOWP5PRto2fXjkXi9lk7Kb3/m9h2kWQE/qOeMFaNSsbh9vDu4f8b98ZDnaXm7s6P4U2RWFe/8Ogr4+1NZHb8j7VORdGfMrsUKvz7XQ6TXzo3azpBPOvh+66ERdfDlj/9jtcZN6CaemtYAltH49AXbMwn1edC1CnyGpuSRYniQ8Otx5rUaxZUoTZpEjt3EdG504o+2JY/wE3pyygI2Eqi/b9J1HO4T+FTqsyxgAOFX0mbM8OhUnBvdfMo6PfyX3/3D/sebWLvkOdTueBhIc4W203pvs+ejXEpsBlvxzDiGFJcSrJsVH8a09wkwlC9UFFK0fsSdTO+YpR5O7w20FdP7nmeUzaTXnhpyMU4fDOyXYQbzE2p/JpxiXGLLYdI9fUqmrtY17Vo3hMVizL74hApMc7Y3I6VQml9Km4U2I1tySLk8CmI62fjFEsLcTsLf42tfoZXKYYCPeMDmXiw/n3EGtvZenun/nsjrI4e5hS/Xdqs1fSFxuePR9GY1ZuEl86u4QnN1fz5oETB47tLjfff/kI/+G5nWxPMzx+LTx8GcSlwi2vQErRmMZrMZu4aE42/9rbiM0Zhrpcfry2p5F4q5m8S74DyUXw6veNOliB0B6m1PydhvRl9MSP7X8nMFa+n5/r4F97GnD56oqKijVKn+x9AXqGnzTw3NsfcY3pXRzzPjvq8b1AmEyKSxdO4k3XPDwHTv7V3JIsJrjNR9p4YXsdM3MSuWFpIRbvgjuLs4fiupc4mnvxyKUfQtSWPIed0+5gUsNrlNQdP3NZaTdn7bgLq6uLvSVfDPuzQ/XNVdOYkZ3Ilx/ZwpMfVR073tnn5Oa/fMQ7B5s577LrUd87DDf9A1bfC1/4J6SMvi5QKK5YkEeP3cVbByJbqsbj0azf28jKGVnExCXA6p9B0x7Y+teArs9t+YCE/rpxaVUMuDTfTmuvg48qh1luddY3wW03FiD60Gt3kbbzD5iVJm7lv0Uw0uN9amEBr7sXYepthPptY/bcSJBkMYFtPdrOc9trmZ6dwI3eMYoBxXUvE+XupzyCXUD7Jn+RxtTFLNt1N7Mq/mJUcAXmH/wd+c1vs3XW92hNXRCx5wcrzmrhma8uZ/mUdO76xy5u+etHfONv27jygY1sq+rg/jWlfO6MScZeF1MvgDO/Hrad8EKxfHI66fFWXtw5wrTfMNhW3UFLj53Vc7wD+rOvgpJz4PUfQ7v/3eamVj+DzZpGTfbot5gN1cocO7FRZv45XFdUxjRYejt8/CjU7zzh5Y0bXuBG/U/ap30aUiNb02qwGTmJ1GSegwuz0fI5iUmymKD213fx3LYapmYl8Nllk4zB2AFaM636KdqSZtGaHLlBWa3MvLP4f6nOXsXCg7/hsnev5poNK5lz+M+UF17LoaI1EXt2qJJiovjrLUv48ooSKlt62V3bSWKMhcduXcpVpUOLHo8vi9nEpfNy2bCvMaKzol7dXU+UWbFyhndNgVJw5e+M71/42rEPAb6kd+wyJjEUXIPHFMKeo2ESa4HzZmby6p4G3J5hZumd+12jlf3q94/r8nF3N7F487dpMOeSfu3Yjk0BXLxkFhvdc3Hsei6s+4aPNUkWE9C2qnb+trmK3ORYPrusiKghFWQzOnaQ2n2IQ4XXRXxmijMqkfdK/5tNc+6mPzqTuqxz2DL7+2yZ/YMxnxUTKIvZxA8um81b3z2PN7+zkpe+sSLk7UMj7YoFedicnoituXC6PTy3rY7zZmSRHDvozT51Elz0c6h8l+lH/+bzWpPHybJdd9Mfk8meyV+KSHzBuGRuLs3d9uFnRcWmwvk/NFarP3oltFdC5UbaH7qOBE8PR857EBWTPKYxgzEr6jW9DGtXFdTvGPPnh8sI9Z3FeKhu6+PWR7aQGBPFzcsnEW05sczB1OpncJrjOZp36dgEpRQVRddRUXTd2DzvNFI2KZWcpBhe3FEXkZbP2weaaemxc12Zj3GZRTfDgVdYtO+/cEQlUZl/xXEvz6n4Eyk95by1+AFcUQlhjy1YF87OJiPByu/fruCsqcNs3FT2RWNfj1e/D/cbXaRxxPC7xDv59tkrxy7YQdLirbinX4rr8J9h9/NY8sJX5XYsSctiAul3uLntsa243B5uWV5MYsyJzX6ro5NJ9a9yJP9yXJb4cYhShJPJpLh8fi5vHzTe1MPt2a01ZCRYWelr1bZS8OmHaEpfwvKdP2B65ROYXX2Y3TbmHXqQORV/ojL30jFdsT2SmCgzt549mXcPtbCzpsP3SUoZSfCr78Pyr7Nx/s9ZbHuQxVd8JaSS7OFy2Rlzed89B/uOf5y0XVGSLCYIrTV3/WMn+xu6uP+GhWQk+l4wVFL7AmaPg/JC+ZR/qrh+SSFOt+bpLdX+Tw5CW6+DDfsbubo0/4SuzGOs8by9+HfUZ5xJ2b77+PTrZ3HVm6uZV/7/qM5ZxeY5/x7WmEbrpjOKSIyx8OCbfrZTTZ2E7fyf8u39M5gzKZeV08d3v5uzp2bwfvTZxPceNWpZnYSkG0sqAskAABK/SURBVGqC+MvGI7ywvY7vXjSD82ZksXZT1Yknac206meMRXNJM8Y+yHGw6Uhglekr3FXcuGzs1wCEw7TsRJaVpLF2UxW3nzPl2Dqa0Xp+Wy1Ot/bdBTWI2xzD24t/R3bbR+S0fEhiXxUHJn2WpvQlYYkjnBJjorjlzGL+941yDjV2f7LDoQ/3vryPxi47v12zcFxbFQBmkyJ50TU4N/0R2+a1JF7xi3GNJxTSspgA3i9v4eev7OOSuTncsXL4Qna5Le+R1FvJoaLwl1UW4+tzyydR097PO4fCs+ZCa80zW2uYX5DMjBz/5cS1ydijYvvMb/Huot9MyEQx4AtnlRAbZebnr+wbdmbUK7vqeezDo3x5RcmEmdxw5ZnzeUsvRO180tiV8SQjyWKc1bT38bW1HzMlM4H/vm7BiJ+AZlY+Rl90JlW5F49hhGIsrJ6dQ0ZCNE986H/dQyA2lrewr76LG5eenK2tkaTFW/n+pTN580AzP3lxzwnVhqta+/jeszspLUzhuxfNHKcoT5SfEsvh/KtIcLZh33/ylS2XZDGO+h1ubn9sKy6P5o83l5EQPXyvYHJ3Obkt73OoaM24zncXkWG1mFizpJA39jdR2zH6TZEeeLOcnKQYrlk0sdaWhMvNy4u57ZzJPPrBUX67oZweu8toTW2p5qoHNqIU/O8NC7FaJtZbXNnq62nWSTS+89B4hxI0GbMYJ1prvv+Pneyt7+Ivny+jJGPkmU0zKh/HZYqmXKavnrJuWFbE79+u4A9vV/DTq0JfbLn1aBsfHm7jPy6f7XPq9anirotnUtfRz69fP8j9Gw6SlRhDQ5eNxZNS+cWn5lGYFud77G+IKVVjt2PzouIsno9bxRWNL+DpbsKUGJnNlyJhYqXd08hf36vk+e11fGvVdM6fmT3iudH2VkrqXuRI/hXYreGvAyUmhvyUWD6zpJC/fVRFVWvo+x88+GYFqXFR3LB0fGpejRWTSXH/moU88sWl3HnBNEoLU/jFp+bxzO3LmT7CwPd4UkqRvPwWLLg5/MbJ1bqQZDEO3q9o4d5X9rF6djZfO2+q3/NnHXkY5XGxv/jmMYhOjKdvXjANk1L8+vWDIV2/u7aTDfub+OJZJcRZT/2OA7NJce70TP5t1XR+/7nF3LC0CFOYZpNFytlnrmCH+v/tnXt0FFWexz/fBAOEQEKCQHiMvFUQQYMvfJ4VEDks+MCBGRUHWBVdxtHRPaN41nEV56yOqDPqiA9QQXfUUVGGgQFRR1SeAkJgACGAw5sTkLcJhNz9oyqxid3pJunqbuD3OadOV9/63apv3arqX9d9/O4ZNFw6AXccNXSf+HdTirF59/eM+r8ltMnLZOxPu0W9seuVFtPp27fY0LI/+7ISN0OZUTNq29W3WaN6DLu4LS/OLuL2y9v9MEd4DJSVw+jJheQ1yGDoRW1izmcklow6aXx3zh10W/wrVsyaSJer4jPLZdDYm0UCKTl8hJGTFnG4rJyXhvYIO0K7Kp2LxpPmDrO8/e0JUGikAndc3p6sunUYM3Ul5ZGC5oVh/JpMlm3aw8MDupCdaZ0gUpmL+93Et2pFvQXPUR5ujo4UxJxFgvAatAsp3LyHpwd3p/2p0WPt1C/ZTseN77C+5YCkTDpjJIfszFP4Td8z+GJtMS98FmWkss+6fek8taIBvTs3o//Z+QErNGrLKXXqsLPb7bQ/so75n7yXbDkxYc4iQTwzaw2Tl2zm3t6d6NW5+gbtCs5Z9RQ4x/L2twWszkg1brzgJwzs3oKxM1fz5fbq3xJ2HxK/nN+IuumOMdeclfTRykZsdO93G8XKJXPuU5QeDi5EfbywNosE8O6iTfzh4zUMKmjFqH+L3qAN0Lx4Dm22TqOwwx0cyGxVrW0s3QMhsV0Ejdohid9d25UVW/Zy14JyJly8m265P/5B2VUqbpydQ9G+Orx40R6aNaqXBLVGTUjLqMd3Pe6m28KHmPLOOAbcOCrZkqrFnEXAfLxyOw+8v4ye7fP43bVdY/vXd7iE81Y8xt7M01jR7vho/DKHFX8a1K3DuJsKGPrCJ1z/aWPu7XKA204/SLq8xuxZWzN4cnkWGw+k80rPPVzW/FCyJRvHSMerR7GpcBLnfTOWwvXX0bVt8uezj4RVQwXIP1bv4I43FnNmfiPG3VwQ+2jST8fQ8OC/WNjlQcrTw0efNU4OOjTNYnrvXfRpUcrjy7PoPPlU+szM5dLpeYycm8PBMvHqJbvNURyvpKWTc/0z5GsXhW/9ltKyI8lWFBF7swiIT1fv4PZJi+jYLIuJw8+nUQw9nwBvnt45z7Km9Q1sb3JRsCKN44LsDMfzF+5l5pYSvirOYP1+b1T2b7vvo1f+IVIsooVxjGR1vIStbQZyw/r3eOXPVzDypp+nZLuTOYsAeHP+tzz04QpOb9aQN0ZcQE5mRmwZd6yCD+6Elj1YdOb9wYo8yYm12ixVkOCqloe4qqW9QZyI5A/+I989s4jr1o7mtRntGNY39f4o2n+SOHKorJxHp/6TBycv57KOTXhn5EU0bhCjo9hZBG8OglPqw08nUp4eYz7DMI5/6ueQ/Yu3yUkr4aw5d/H+grXJVvQjzFnEidXb9nHN818y/ov1/KJnG16OEkX2KLYthwl94fBBuOk9yD4xI4UahhGZtPyzSLv2eQrS1tB66s94YfrCYxqUGTRWDVVLdh88xAufFfHqlxtoWLcOL91cQJ8uzWPL7BwsehVm/jfUbQRD/wandgpWsGEYKcspZw/iEGmcM/k2cubewqNbHmXU4P7kZSW/o0ugbxaS+kpaLWmtpB9VwkuqK+ltf/t8SW1Ctj3gp6+WdFWQOmvCxl0HeXLGai594lNemr2O/l3zmXHPZbE5Cudg/Wx4/d9h6j3Qqgf8x0fmKAzDIOPs60gfOpnWGfsZ/a9bmfL7EUyYtYSSw8ntKRXYm4WkdOB5oDewCVgoaYpz7p8hZiOA75xzHSQNAR4HBkvqDAwBugAtgFmSOjnnklZa5eWO1dv38cWaYj5ZtYO563YiQa8zm3Fvn07VB3wrPwL7d0DxN7Dhc1g93Zu0PTMP+j8NBcO8FkzDMAxAbS+l3j1L2DN1NMNWvkXp59P57Ise7G7di07denJG1x7Uq5vYt40gq6HOB9Y659YBSHoLGAiEOouBwMP++rvAc/L6jA0E3nLOlQLrJa319zc33iJLy47w5driyu+HjzgOlJaxr6SM7XtL2La3hKId+/lm+36+9z17h6ZZ/Lp3JwYVtKJFTv3qDzDlLlgyCZwfLExp0LIABjwLXW/wGrQNwzCq0iCP7MEvwrZfsuuzl+n5zWSyNs6DjbDlr3nccepE2p+aRavcTM5o3pB+XYONCRaks2gJbAz5vgm4IJKNc65M0h4gz0+fVyVvIK2++0vKGP7aV2G3paeJpg3r0rZJA4ac35ouLbK5uEMe+dnH8APf9jLIagoNm0POadD6fKiXHSf1hhGe461rsFENzc8if/Af4MhYDm5dRVHhHLbsKKZ+aTrz1u1k69ebKfhJ4+PaWYSrV6natB/JJpa8SLoNqIiyt1/S6mNSGAPrONprhdAEKA6/KSWopb774iYkAnEuv/u4MX47qyDAaxwXvWH0Da/9XuNHnMsv7udWA33ecxHAvRaJmDRuAHRnjY9xWixGQTqLTUDovI6tgC0RbDZJqgNkA7tizItz7iXgpThqjhlJXznneiTj2LFg+mpPqms0fbUj1fVBamkMsjfUQqCjpLaSMvAarKdUsZkC3OKvDwI+cc45P32I31uqLdARWBCgVsMwDKMaAnuz8NsgRgEzgHRggnNuhaRHgK+cc1OA8cAkvwF7F55Dwbd7B68xvAz4z2T2hDIMwzjZCXRQnnNuGjCtStpDIeslwA0R8j4GPBakvlqSlOqvY8D01Z5U12j6akeq64MU0iiv1scwDMMwImOxoQzDMIyomLOIEUkPS9os6Wt/6RfBrtoQJwHq+72kVZKWSZosKSeC3QZJhf45hB9gEl9dNQ75kgBtrSV9KmmlpBWSfhXG5gpJe0Ku+0Ph9hWwzmqvmTz+6JfhMknnJlDb6SFl87WkvZLurmKT0DKUNEHSDknLQ9JyJX0kaY3/2ThC3lt8mzWSbglnE6DGlHyGK3HO2RLDgjfS/L4oNulAEdAOyACWAp0TpK8PUMdffxx4PILdBqBJgjRFLQ/gTmCcvz4EeDuB1zQfONdfbwh8E0bfFcDUJN971V4zoB8wHW980oXA/CTpTAe2AaclswyBy4BzgeUhaU8A9/vr94d7PoBcvKFVuUBjf71xAjWm3DMcutibRXypDHHinDsEVIQ4CRzn3EznXJn/dR7e2JRkE0t5DARe99ffBa70Q74EjnNuq3Nusb++D1hJQJECAmYgMNF5zANyJAU7nDc8VwJFzrlvk3DsSpxzs/F6V4YSep+9DlwTJutVwEfOuV3Oue+Aj4C+idKYos9wJeYsjo1R/ivihAivseFCnCTjx2c43j/NcDhgpqRF/gj4IImlPI4K+QJUhHxJKH711znA/DCbL5K0VNJ0SV0SKswj2jVLlftuCPDnCNuSXYbNnHNbwfuTADQNY5Mq5Qip8wxXYvNZhCBpFhAuxviDwAvAo3gX6lFgLD+OPxBTmJIg9DnnPvRtHsQbm/JmhN1c7JzbIqkp8JGkVf6/nCCoTciXhCEpC3gPuNs5t7fK5sV41Sr7/XaqD/AGiSaSaNcsFcowAxgAPBBmcyqUYSwkvRwh5Z7hSsxZhOCc6xWLnaSXgalhNsUUpqSmRNPnN8j1B650fuVmmH1s8T93SJqMV1UU1I1Wm5AvCUHSKXiO4k3n3PtVt4c6D+fcNEl/ktTEOZewuGAxXLNA77sYuRpY7JzbXnVDKpQhsF1SvnNuq19FtyOMzSa89pUKWgH/SIC2SlLwGa7EqqFipEod8LXA8jBmsYQ4CUpfX+A3wADn3MEINg0kNaxYx2tQC3ce8aI2IV8Cx28bGQ+sdM49FcGmeUUbiqTz8Z6ZnYnQ5x8zlms2BRjq94q6ENhTUeWSQH5GhCqoZJehT+h9dgvwYRibGUAfSY39auY+flpCSNFn+AcS3aJ+vC7AJKAQWIZ34+X76S2AaSF2/fB61RThVQ8lSt9avPrWr/1lXFV9eL2SlvrLikToC1cewCN4DwRAPeAvvv4FQLsEltkleNUMy0LKrR8wEhjp24zyy2opXqNjzwTfd2GvWRWNwptorMi/R3skWGMm3o9/dkha0soQz2ltBQ7jvS2MwGsH+xhY43/m+rY9gFdC8g7378W1wLAEa0zJZ7hisRHchmEYRlSsGsowDMOIijkLwzAMIyrmLAzDMIyomLMwDMMwomLOwjAMw4iKOQvjuEZSXkg00206OjJwRi33PVxSuBHzcaW640h6Q9L6kHP63E+vL+kTP22QvMiuKyQtOdbzlnSdpDPicS7GiYuN4DaOa5xzO4Hu4IWRB/Y7554MtfEHhMk5V36Mux+OF6piWxyk1uY49zjnPqiSVgA451zFub8C/K9zblINjn8dUA6sqkFe4yTB3iyMExJJHSQtlzQO74c4X9LVkuZKWixvDo0Gvu3/SFpYYe+PhB6M54TernhLkbRJ0mOS5vn250qaKalI0q0hx75f0gJ5QScfqqJnvP8GMF1SvXDHieHcWgCvAT38PCPxfvAfkTQxkgY/fZiftlTSq5IuxRuI+LS/rzZxKH7jRCSRIz1tsSXIhZA5R4AOeP+Wz/O/NwU+AzL97w8Co/31itG8whtZe7X//Quge8j+NwG3+uvPAkuABkAzYJuf3g/4k7+vNODvQE9fz2Ggq2/3PjAk3HGqnNMbwHp+GNU70U/vBXxQxe6aKBq64b095FY578q8ttgSabFqKONEpsg5t9Bf7wl0Bub4YYoy8H6kwZtD47/wQo80ARYROTx0RWyrQryJag4ABySVy4te2wcvqN4S3y4L6IQXuG6tc67QT18EtInxPMJVQ1VHJA2N8SaX2gVQ8WkYsWDOwjiRORCyLuDvzrmbQw0kZQLP4c2Yt1nSGDynEYlS/7M8ZL3iex3/OGOcc+OrHKdDFfsjBPf8RdLwa5IQcts4MbA2C+NkYQ5wuaR2UBm9syNQH++HvtiP5nl9SJ59eNOtHgszgBEh7SGtJDWJkqcmx6mJhlnAEEm5fnpuQMc3TkDszcI4KXDObZc0Aq8huaIRebRz7m+SXscL8/wtR8+U9yrwiqTv8eYMiOU40/xuqPP86q59wM+jZDvqOM6bgjaUp/2eXhUU1ESDc26ZpCeA2ZLK8KrCRuC107wo6V68tosNMZyqcZJhUWcNwzCMqFg1lGEYhhEVcxaGYRhGVMxZGIZhGFExZ2EYhmFExZyFYRiGERVzFoZhGEZUzFkYhmEYUTFnYRiGYUTl/wF8t/3OargTywAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "##histogram of estimated treatment effect\n",
    "import seaborn as sns\n",
    "\n",
    "sns.distplot(rf_dr_effect, label='est')\n",
    "sns.distplot(true_fn(X_pre), label='true')\n",
    "plt.legend()\n",
    "plt.xlabel(\"Treatment Effect\")\n",
    "plt.ylabel(\"Frequency\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 293,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ATE Estimate: 3.91\n",
      "True ATE: 4.24\n"
     ]
    }
   ],
   "source": [
    "print(\"ATE Estimate: {:.2f}\".format(np.mean(rf_dr_effect)))\n",
    "print(\"True ATE: {:.2f}\".format(np.mean(true_fn(X_pre))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 294,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"DRIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - rf_dr_effect)**2)))\n",
    "plot_separate(X, X_pre, rf_dr_effect)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 295,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwnj20X2sP7RcAAAAAAMDx6CEEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA5DIAQAAAAAAOAwBEIAAAAAAAAOQyAEAAAAAADgMARCAAAAAAAADkMgBAAAAAAA4DAEQgAAAAAAAA7zf3SlYiOBmV6TAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1440x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import shap\n",
    "import pandas as pd\n",
    "\n",
    "Xdf = pd.DataFrame(X, columns=X_data.columns)\n",
    "# explain the model's predictions using SHAP values\n",
    "explainer = shap.TreeExplainer(rf_dr_cate.effect_model)\n",
    "shap_values = explainer.shap_values(Xdf)\n",
    "\n",
    "# visualize the first prediction's explanation (use matplotlib=True to avoid Javascript)\n",
    "shap.force_plot(explainer.expected_value, shap_values[0,:], Xdf.iloc[0,:], matplotlib=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 296,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x396 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "shap.summary_plot(shap_values, Xdf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 297,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x396 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "shap.summary_plot(shap_values, Xdf, plot_type='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# CATE  with DRIV-RW"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 298,
   "metadata": {},
   "outputs": [],
   "source": [
    "from utilities import SubsetWrapper, StatsModelLinearRegression, ConstantModel\n",
    "from dr_iv import IntentToTreatDRIV\n",
    "from utilities import WeightWrapper\n",
    "\n",
    "np.random.seed(123)\n",
    "\n",
    "# For intent to treat DRIV we need a flexible model of the CATE to be used in the preliminary estimation.\n",
    "# This flexible model needs to accept sample weights at fit time. Here we use a weightWrapper to wrap\n",
    "# a lasso estimator. WeightWrapper requires a linear model with no intercept, hence the Pipeline\n",
    "# that adds a bias to the features.\n",
    "rf_driv_model_effect = lambda: GradientBoostingRegressor(n_estimators=30, max_depth=2, min_impurity_decrease=0.001,\n",
    "                                                     min_samples_leaf=200)\n",
    "\n",
    "rf_dr_cate = IntentToTreatDRIV(model_Y_X(), model_T_XZ(),\n",
    "                            rf_driv_model_effect(),\n",
    "                            opt_reweighted=True, # re-weighting the final loss for variance reduction\n",
    "                            cov_clip=1e-7,\n",
    "                            n_splits=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 299,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 7.05 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<dr_iv.IntentToTreatDRIV at 0x22d3040d898>"
      ]
     },
     "execution_count": 299,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "rf_dr_cate.fit(y, T, X, Z, store_final=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 300,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf_dr_effect = rf_dr_cate.effect(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 301,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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V1cXk3dQW5pEhMHBQXp6euju7l7s6miatkRUTVdMLpejubn5ognqAEopmpubL7pvKZqmza+qCezARRXUR12M71nTtPlVVYFd0zRNm7uq6WOf6E+fPljR8j77oQ0VK+vxxx/npptuYvny5QB87Wtf48/+7M84cuQIsViMlpaWip1L06rB/o2bJqVtOrB/3vPVUplzOU+l6Rb7LDz++OOcOnWq/HzHjh38n//zf1i9evUi1krT5sdUwWmq9Ernq6UyLyTfTI+fi6ptsS+G7373u3zlK1+hUChwzTXX8Nhjj3Hfffexa9culFJ88pOfZOXKlezatYtPfOITBINBXnjhBS6//PLFrrqmaVqZDuwl+/fv53vf+x7PPfccXq+XBx54gIcffpje3l727t0LQDwep6Ghga997Ws88sgjbN++fZFrrWmaNpnuiil55pln2L17N1dddRXbtm3jmWeeYWhoiKNHj/Lggw/yj//4j9TV1S12NTVN085LB/YSEeGee+5hz5497Nmzh7fffptHH32U119/nfe97318/etf51Of+tRiV1PTNO28dGAvufHGG3nqqafo7+8HYGhoiOPHj+M4Drfddhtf/OIXefXVVwGIRqMkk8nFrK6mLZjpRnFMTK90vloq80LyLcSoGERkwW9XXnmlTPTWW29NSltoTz75pGzdulW2bNkiV1xxhTz77LNy+eWXy9atW2Xr1q3y05/+VEREnnrqKdmwYYNs3bpVMpmMPProo7JixQoxTVOWLVsm99133wWdtxreu6Zp1Q/YJTOIscrNu7C2b98uEzfa2L9/P5s2zf8woGp0Mb93TdNmTim1W0TOO2pDj4rRNK1iRIS+TB9pK73YVakqy8LLCHlDC3Y+Hdg1TZuzgewAh4YPsW9wHydGTpC384tdpapR56vj7kvvZpV31YKdc8aBXSn1l8CtQL+IbC6lNQHfA7qAY8C/FZHhyldT07RqkywkOTR8iP1D+zkSP8JQbgiFoinQRJ1PDw0etaV1Cx3hjgU954W02B8HvgZ8Z0za54FnRORLSqnPl55/rnLV0zStmuSKOY4kjnBg8AAHhg4wmBuk6BRpDDTSXdeN19QbxkxU56vDZ/oW9JwzDuwislMp1TUh+SPA+0qPvw08iw7smrbkiAg/P/FzdvfvJpaJkS1mqffX0xnpJOAJLHb1tAnm2sfeLiKnAUTktFKqbbqMSqn7gfsBVq1auL4mTdPmrifZw897fk6umKMt1EbIE9J7CVSxBZugJCLfFJHtIrK9tbV1oU47Y/F4nMcee6xi5e3cuZMrrrgCj8fDU089VbFyNW0xvDnwJvFcnNV1qwl7wzqoV7m5BvY+pdQygNJ9/9yrtDimC+y2bc+qvFWrVvH444/z8Y9/fK5V07RFlSwkeT32OlFfFEPpyeq1YK7/Sz8C7ik9vgf44RzLm7mDT8Pjt8KfbXHvDz49p+I+//nPc+TIEbZt28ZVV13F+9//fj7+8Y+zZcsWjh07xubNm8t5H3nkER566CEAjhw5ws0338yVV17J9ddfz4EDBwDo6uriXe96F4ah/xC02vbW4Fv0Z/ppDVXfN21tahcy3PGvcS+UtiileoA/BL4E/I1S6j7gBHDHfFRykoNPwz/8Lhg+CDRCss99ziOw4UOzKvJLX/oSe/fuZc+ePTz77LPccsst7N27l+7ubo4dOzbtcffffz/f+MY3WL9+PS+99BIPPPAAP/vZz2b3vjStytiOzWv9rwHgN/2LXBttpi5kVMzHpnnpxgrVZeaef9QN6r7STC5fCAql9FkG9omuvvpquru7z5knlUrx/PPPc8cdZz/P8nk9MUNbOt5JvMPxkePz1loXEd1fPw9qc+Zp/LjbUh/LG4T4iYqdIhwOlx97PB4cxyk/z+VyADiOQ0NDA3v27KnYeTWtmrwx8AapQorOSOesy3DEIW/nyRVz5OwcuWJu0sxUr+El6AkS8oYIeoL4DF9VBHzbsRkpjJCyUuU0xdl6jdZxbFr5uXLvj8SPcGnzpdT76xem0tRqYG9Y7Xa/+MasvWBloWH2wyjPtRRve3s7/f39DA4OEolE+MlPfsLNN99MXV0d3d3dfP/73+eOO+5ARHjjjTfYunXrrOuhadViMDvIvoF9NAQaZhxki06ReD5OxsqQs3M44qBQ+E0/AU+AoBlkeXg57eF2Gv2N+D1+4rk4p1Kn6M/2k7WyDGYHsRwLwA32nlB5rLwtNrZju/fTPFYowt5w+XYhk4NEhGwxSzwfJ1lw40Gdr47mQDOmYbqrJyLj7h0cEBDOLqgobgKCu3ZOIp/Qgf283vMZt0+9gNtSt7LgFNz0WWpubmbHjh1s3ryZYDBIe3t7+TWv18sXvvAFrrnmGrq7u9m4cWP5tSeeeIJPf/rTPPzww1iWxV133cXWrVt55ZVX+OhHP8rw8DA//vGP+cM//EP27ds3l3etaQtq3+A+BrIDrGlYc858tmMTz8cZyg3hiENjoJGOcAftoXaag800+Buo99fTGGik3l8/bV993s4zlB1iMDfIYHaQWCZGb7qXRD5BPB9HoTANE1O5N5/hw+P1EPQE3Q8NT5CgJ4jlWJxMniRZSLozY+0iHtNDxBsh7A0T8oYwlVk+r+VYjORHGCmMkCvmCHqC1Pvruaz5MrobulkVXUV7qB3TMKes9+gKueMC/pjALggetbChtnaX7T34tNunHj/httTf85mK9a8vNL1sr1ZtLNvisdcf4+TIySkD+2gwH84NY4tNvb+eldGVXNp8Kesa1tEWaqtIV4qIkLSSDOeGMTDwmb6zN8OHx/BMeZ6iU2QgO0Bfpo++dB8nkyc5kz5DykqRsTIIgt/0U7ALKKWo89XRFmrjkqZLWBVdxcroygVdjXGmlv6yvRs+VLOBXNOq3cHhg/Qme2kLnZ1MbovNSH6EodwQlmPR4G/gkqZLysG8I9xR8X7x0aB7oYuKeQwPHeEOd/Gt0nXfjJWhL9NHf6afM+kz9CR7aAu10VXfxaroKlpDrUtmnH7tBnZN0+aFiLAntoecnSPsdQcR2I7Nofgh6nx1rG1Yy2XNl7GucR3LwstqJhiGvCG667vprj/3aLelQAd2TdPG6cv0cWj4EM2B5nILfCA3QFOgiY9v+jjrGtbVTDC/WOn/HU3Txtk7sJfB7CBNgSbAbcEP5Ya4tPlSNjRu0EG9Buj/IU3TyjJWhtf6X3NHjpRGgSQKCaLeKJe3Xb7ItdNmSgd2TdPKDgwd4Ez6zLiLpv2Zfrrru1lTf+5hj1r1qNo+9sf2VG4JXYAHtj1QsbIef/xxbrrpJpYvXw7AO++8w1133cXQ0BBXXHEFf/VXf4XPt7A7pmjaXDnisKd/D0WnSNATBNwWvKlMrmy/ctpx3Fr10S32WXj88cc5depU+fnnPvc5PvvZz3Lo0CEaGxv51re+tYi107TZOZk8ydHE0XHrwvRl+lgRWcGmZj3PopbowD7Gd7/7Xa6++mq2bdvGb/3Wb2HbNvfeey+bN29my5Yt/Omf/ilPPfUUu3bt4hOf+ATbtm0jm83ys5/9jNtvvx2Ae+65hx/84AeL/E407cK9GXuTRD5Bg78BcCcp5e08V7ZfWW7Ba7WhartiFtr+/fv53ve+x3PPPYfX6+WBBx7g4Ycfpre3l7179wLuZhwNDQ187Wtf45FHHmH79u0MDAzQ0NCAx+P+KDs7O+nt7V3Mt6JpF2ykMMIbA2+M20wjlo3RGmxlS+uWRa6ddqF0YC955pln2L17N1dddRUA2WyWm2++maNHj/Lggw9yyy23cNNNN006bqolGaphVTpt8ezfOLnbYtOB/XPKOx9ljs37RpfC6oR/84qw69sP4ohDIp/gQ10fKg971GqH7oopERHuuece9uzZw549e3j77bd59NFHef3113nf+97H17/+dT71qU9NOq6lpYV4PE6xWASgp6enfFFVu/hMFVSnS59p3vkoc2yareBYOywfhEgebrjrqwznhmnwN7C1Va9UWot0YC+58cYbeeqpp+jvd7dtHRoa4vjx4ziOw2233cYXv/hFXn31VWD8Er9KKd7//veXN6z+9re/zUc+8pHFeROaNgu9LZDzKtaedr99KtxumPWN61kVnf1S2NriqdqumEoOT5yJSy+9lIcffpibbroJx3Hwer18+ctf5qMf/Wh5k40//uM/BuDee+/lt3/7twkGg7zwwgv8j//xP7jrrrv4/d//fS6//HLuu+++Ba27dnFwFOS949PSVnrc8+w5RtlOl/fwMkUkJ7TH3eeDUQiYAa5ov2JSt6KIULAdcgWHXNEmW7DJWu4tN+axQuHzGO7NdO/9pdvYdI9hULAd8kWbQtGhYDvufdEhP/bedqbs9pwrn2ng9xr4PeaYOpru/Zh0r6mwHcEqCpbjYNkORdv9WRRtwbKdcY/dm1AspV+7ppm2ukDF6z+digR2pdRngU8BArwJ/KaI5CpR9kK68847ufPOO8eljbbSx7rtttu47bbbys/XrFnDyy+/PO/10y4+2WKWY21wqknR1wiWOT7Q/v2uL4977lw9/Zfwc+V91ztOeQ+gQysUK+tWcknjJeXXLdvh+7tO8s5AmnzRoWg7FB0pB6+iIxQdQUF5u4nR8gQwDYWpFB5DuY9LN0OB7Yh7E/e+WHrujInjY8utpLPlCsaY+nkMo1xHj6EwDIXI2XqN1tdxBEcE26F0L5Pe/8qmENu7FvY6xZwDu1JqBfA7wKUiklVK/Q1wF/D4XMvWtIuNACMheLXvVY7Ej3AkfoTcBoNgQVgZg4bU2QDsAK+JM+74yw87U/avniuv4cDKmJuW9sPJFrip/Uq85tmvB3t7E7x4dBBQ+D0GHlMR8JhE/AqPaeAtBcGpBg6MBkRbhKJ9NoDbjiACXlMR9BmYanLQX6iBCCJnA3bRccZ9wBQdwS46GGo00IPP49bXKH1gGQbuvVKoCfW+qquJFQ0LO1y0Ul0xHiColLKAEHDqPPk1bUnadGD/jEeljOZ1FMTq3Vb56SZIPXAnibe+S1GKRH1RGn7rXm6++y8ZO+/TAXY++SATt5ju+bMHueGur44L7heS99AyReD+32BLy9khjkXb4ZeHB8gXHTZ2XNi66OAGOY+p8AD+Ku38VUphKvebhW8JXHqsyA5KSqnPAP8dyAL/LCKfmCLP/cD9AKtWrbry+PHj416/mHcRupjf+8UqWUhyInmCEyMnODh8kFgmxkhhBFOZ1PvrafA3XNBenZVgOzYHhw9y65pb+XD3h8vpe07G+dk3/hO3mztZabhNewf4yo5XJpXxO89dNelDZS75aqnMc51n3PeOhxIzPn6ime6gNOePJqVUI/ARoBtYDoSVUr8+MZ+IfFNEtovI9tbWiW0HTVvaik6Rk8mTPN/7PH/11l/x6O5HeXzv4/z06E/pTfUS9ARZ37ie9Y3raQu1LXhQBxjMDdIcbGZr29khjkXb4eU//zQr1ACdKlZON3CD1lgTg+Bc89VSmVOZ6ngAHpr/Ta0r8cXog8A7IhIDUEr9LfAe4LsVKFvTatZIYYSTIyc5NnKMQ8OHGMgOkCwkQUG9r56OcAcBM1AVE9pEhMHsINd1Xkd76OxG7m+dHiEtQW4ydzGxmlMFvanMNl8tlTmXfPOhEoH9BPBupVQItyvmRmDXuQ/RtKXtzdib/OjIjxjOD5Mv5gl5Q9T56s652/1iShQSRHwRLm+7vPxBYzvCLw8N0KEGWaX6F7mG2oWY84eKiLwEPAW8ijvU0QC+OddyF1o8Huexxyq3VHA+n+fOO+9k3bp1XHPNNRw7dqxiZWvV7+DwQU6nT7MsvIyNTRtZXbeaxkBjVQZ1cNdc76rrYm392nLa/tMjHOxLco1xYFJrXatuFfm2ICJ/KCIbRWSziNwtIvlKlLuQpgvstm3PqrxvfetbNDY2cvjwYT772c/yuc99bq5V1GqE7dgcGzlGxBsh6AlWRVfLuWSsDIYy2N6xvfzBYzvCc4cHSBeKrFJnpjzOOc/zuearpTLnkm8+1Oy4nuTOnRy/514O3/hBjt9zL8mdO+dU3uc//3mOHDnCtm3buOqqq3j/+9/Pxz/+cbZs2cKxY8fYvHlzOe8jjzzCQw89BMCRI0e4+eabufLKK7n++us5cOAAAD/84Q+55557ALj99tt55pln5mXmnFZ9hnJDjORHCHvDi12VGenP9LMisoJLmy8tpx04M8KBMyMsqwvy1etemTLoTRwd8pUdlc1XS2VOZarjgTmNipmpKh1Vem7JnTvp+6Mvonw+jPp6irEYfX/0RfjCHxC94YZZlfmlL32JvXv3smfPHp599lluueUW9u7dS3d39zm7Ue6//36+8Y1vsH79el566SUeeOABfvazn9Hb28vKlSsB8Hg81NfXMzg4SEtLy6zqp9WOvkwfKStFZ7RzQc/riEO2mCVVSJEupnEcByn9GzXauJAJ8zivaLuivOa6U2qtp/I2KxtDwIUFs0rmc0T4k6tfpFB0UIqzs0NtB8NwJwRdaJnzUc9zHX9VVxPXrV/Yv/uaDOxD3/pLN6gH3V9EFQzilNJnG9gnuvrqq+nu7j5nnlQqxfPPP88dd9xRTsvn3V4ovZzvxasv3YflWPiM+R2yaNkWKStF2kqTttIIQsgTIuwNs75hPWFvGKUUBgZKubNCFWefG8ooTcwxuaL9inK5b/clOXA6SUfd2RE7IsI7g2msopRnWZqlwGoaY2Zglib5jM7AnHivODuj1FAgQmmtGIe8Zbv3pTViRgd/+0vrygDlmaBTTd8XBAS3LmOWBfCMWRqgnG669RU5O8N07GzTiTNQHZHymjfl+9LNY1Rfx0dNBnarpwejfvxYUBUIYPX0VOwc4fDZr9Eej6e8EBhALucug+M4Dg0NDezZs2fS8Z2dnZw8eZLOzk6KxSKJRIKmJr2u9cWgJ9WDqcwZfZDbYpMupLHl3NdyRssq2AVSVoq8ncejPES8ERoCDWxt28qKyAo6Qh20h9uJ+qKzqvtoa30kZ9HZeHYa/GC6gM802NpZR9F2yBUd8pZDzrLdIFsKtJYt5IpuS1tkdKq++9gZfc7ZKfwKxi2+1RDy0hzx0xLxUR/0URf0UBfwEg14yh8CYxcLs8bcj34gZAs2mUKRdMEmU7CxbDdAW46Qs+xxwXt0VuzYwO/zKEzDXQgs5DMJ+U28pkEiY5HIWuQsh3TBZjhToFB0sEufLmPfy9jgXyi6C5gtZMOuJgO7t7OTYiyGCp79xZNcDm/n7L/6jl2Kd6L29nb6+/sZHBwkEonwk5/8hJtvvpm6ujq6u7v5/ve/zx133IGI8MYbb7B161Z+9Vd/lW9/+9tce+21PPXUU3zgAx/QLfaLQK6YozfZO23/uoiQLqYZyY+4Y9qBiDeCx3D/FCd2kYw7FsFreFlbv5au+i46wh10hDpoCbXgNbzTHnchDvYneev0yKTWet9Ijh3rWrj3PV3jfo9FSguBOQ5W0V3tcDSQnl3M62wgHbvYl11aNCwScIN3XdBL1O/BMCr3dzJav3zx7LeB0W8GhaKDaaizKzp6z64+6feYmFPUw3aEVL7o3nJFkjmLZOlxImsxmMpPCv7PHOhjdUuIta2Rir2v86nJwN503yfp+6Mv4uC21CWXQwoFmu775KzLbG5uZseOHWzevJlgMEh7+9lJGl6vly984Qtcc801dHd3s3HjxvJrTzzxBJ/+9Kd5+OGHsSyLu+66i61bt3Lfffdx9913s27dOpqamnjyySfn8pa1GtGf6SdtpcstZhEhb+cZKYwwkh/BEouwJ0ydr45Lmy+lq66LzmgnIW+oXMbYbrzRQD+aFvAEqPPVzUsjQaTUWs9adI5ZtGogVaAh5OP69S2TzquU28L1YcDCT5Y9r3L9PAaz+w4znmko6oNe6oPTf5BODP6pvEVr1F+Bs89cRdaKuVDbt2+XXbvGz2G60PVSkjt3MvStv8Tq6cHb2UnTfZ+sWP/6QtNrxSwdr5x5hSf2P8Hy8HJi2Ri5Yg6/6afOX8eKyArW1K+hM9rJisiKccG8GhzsS/Ln/3KEgNekJeIGIkeE/adHuGF9K3dfu1p/61xkM10rpiZb7ADRG26o2UCuLV196T5ssenL9LE8spzLWi5jZWQlndHOeWtpV8Joaz2RLY5bYnYglacx5OO6KVrrWvWq2cCuadVGRDg+cpyAGSBXzLG5ZTMf7vrw+Q+sAkdiKfb1JmiL+ssB3BEhlszzvkva6G6pjTH5mquqxulcjBN4Lsb3vFSNFEYYzA3iN/14TS8d4Y7FrtKMuK31QeJZi5bI2Y7yWDJPU9jHdet0a73WVE1gDwQCDA4OXlSBTkQYHBwkEFi4vRC1+XMmfYZUIYVCEfFGxq2SWAlOabhepf9Gjg6k2duboC16diSM4wgDqTzbVjawurm6rgVo51c1XTGdnZ309PQQi8XOn3kJCQQCdM5hmKZWPfoyfeTsHIYyaAm20BKszGxDxxH2nxnhl4cG6I1n8ZoGYZ9JNOgh4vcS8pkEvCZB79h7Y8bDBn95aIDhTIFNy87ujtSfytMc9nHdulbdWq9BVRPYvV7veWd6alo1O50+jUKRLWZZVbeqPDZ9tkSEQ/0pdh6M8dapEVL5IvVBLymnSH/SwbbdseJjZ18qBR7D3Yd0puE4Z9m0Rv3l6fm2Iwym8nxwUzsrmxZ2r06tMqomsGtaLSs6RU6MnCDoCZIpZlgeWT7rskSEdwYUWBHOAAAgAElEQVTS7DwU482eBCM5i466IJ2N518pcnQqfNGeeXeNUhD0nl1OuD+ZoyXiZ4fuW69ZOrBrWgWM7o5kGiZBT3DW/esnBjP84lCM13viDKULtEUDbOqY+dK/pjE6HX5Wp8d2hKF0gZsu62Blk+5br1U6sGtaBYyu6BjwBIh4Ixc8IuZUPMsvDw/w6vFhBpJ5WqJ+Ni2rG7d64ULoG8nRGvHznrXNC3perbJ0YNe0CuhL92HZFgYGq6KriHhnti7IYCrPzoMxXj42RH8yT0u4FNAruF7KTNmOMJwp8K82L6OzUbfWa5kO7JpWASeTJ/GaXgpOga66rvN2nWQLNi8cHeAXBwfoGc5QH/KxqaNuyoWnFsqZkRytUT/X6tZ6zatIYFdKNQB/AWwGBPikiLxQibI1rdplrAxn0mcImAGykqU9PH3/etF2eL0nzs8PxDgcS+IzTda3R/GaizulpOg4DGcK3LJlGcsb9EiYWlepFvujwD+KyO1KKR+gv8dpF43R/nVDGdNOTBIRjsRSPHOgn329CQpFYWVTiJCvOr409yXytEcDvGet3uFrKZjzb5VSqg64AbgXQEQKQGGu5WparejL9JGxMgQ9QeqD9bSGWse/PpLj2bf72XVsmHi2wPL6IA2h6lnjtmg7xLMFbn3Xcjrq9SzopaASzYU1QAz4/5RSW4HdwGdEJD02k1LqfuB+gFWrVlXgtJpWHfrSfQhC1s6yKrqqvOlFMmfx/JFBnjs0wKlElpaIn00d1bfC45mRHO11AT0SZgmpRGD3AFcAD4rIS0qpR4HPA38wNpOIfBP4JrjrsVfgvJq26BxxODZyzF3R0c6VJyYdiaX4/q6THI2lCflMLmmP4pllP7qIkMwV6U/mKRQdDAM8hoHXdPfv9Jjutm5ec/SxgcdQOKX9PEd3MiraTvl5ccwuR5bt8L5LWmmr0631paISgb0H6BGRl0rPn8IN7Jq25A3nhhnODeMxPATV2YlJe07EOdiXYn1bhMCYWZ0XwrIdYsk8w5kCYb+HrpYQ3S0R0nmLZM4mlbfIFuxycM5YNrYtWKWZp0ZpH8/Rm2m6Ad/d/s1L2O8h4vfQEPRy/frW81dIqxlzDuwickYpdVIpdYmIvA3cCLw196ppWvUb3QrPa3gJe8N0hDtwHOFwLEXE77ngoC4iJLIWsWSeoiO0Rv18YGMbW1c2sL4tis8zvtVv2e6G0lnLJm85ZC2bbMEmZ9l4TIOA192/M+A1CHjdDZoDXhOPoaquS0irnEpdkn8QeKI0IuYo8JsVKlfTqtroio4iworICup8dcSSeYbSBaKBmf95FYpu6zyedY9b1xbhitWNbF5RX96mbipe08BrGkQDldnMWlsaKhLYRWQPcN59+DRtqelN9WJiuhOT6t2JSacSOZI5i1UzmL2Zzhc5lchiO0Jb1M/Vazp4V2c961ojs+6T17TqGESraTXIsi1OJk8S8LgXTkf710/FsxSKzqRuk7Gylk3PcAYRWNsa4Zo1TWxeXk9juHqGQWq1Swd2TZul/my/u2OSUuX+dRGh53v/iY+qAf71Oy8D4ABf2fEKAPmiTe9wFstx6GoOc/3z93HloYMEXrDOFvxQYvLJHqqfIm2KfPOZV6sZ+rueps1SX7qPtJXGEYeoN0pbqI2Rh5aTliDL1WA5nwHc98vrODaY5mgsTXtdgDuvWsWDL76XHeY+AsoaX/DEYDtV8J0ufb7yajVFt9g1bZb6M/0UpYjYwsq6lfhMH0fFneQzGthz4mW3s4HXZB2NIR+3vquFa9Y0URfwgsovZvW1JUwHdk2bBRHh2MgxfIYPy7FYEVkBwClpxqcs6iXFy3IJu50N5MXHBuMkv37jet2Hri0IHdg1bRZSVopYJobX8GIoo3zhtFda6FBDvCiX8pqznjXGKa4136JNJUAHdW2B6D52TZuF0YlJgLuiY7idnGUzQB3L1QDHpZ3Vxhk+Yr7gBnVNW0A6sGvaLPSl+8gUM9iOTWOgkUZ/I2cSOU6+6zM0kGRI6uhUA2cPmHKky3QjVRKzyzefebWaortiNG0WTqdPA5B38nTXd7sTk+JZUvki3932PQq2w/IProfzTVKaaRC9kGA7X3m1mqFb7Jp2gWzH5vjIcQJmAEMZ5Y2re4aziAjpQpGGkJcOvVqitkh0YNe0CzSUGyKRT2Aog7AnTHuoHdsRjg6kCHk9pPM2a/WSANoi0r95mnaB+jJnJyaFfWHaQm3lhb9CfhMUdM5gnRhNmy86sGvaBerL9FFwChTsAp2RTgKeAL3xLMlcEVMpon4Pyxt0N4y2eHRg17QL1JPswcDAxqYz2gnA6USWoi1kLZu6oJflDcFFrqV2MdOBXdMuQK6YozfVi8/04Tf8tIfbERGO9qfxeQxS+SKrm0Oz3jVJ0ypBB3ZNuwCxTIx0IY1CEfFFaA+1k8hanBnJEfGb2I6wuln3r2uLSwd2TbsAZzJnSBfT2GLT4G+gKdBU6l+38BgGYb+HFQ06sGuLSwd2TbsAfek+HHHKOyYZyuB0PEfWsinYNtGAvnCqLb6KBXallKmUek0p9ZNKlalp1UREOD5yHK/hRaHKE5OOD6XxGIpU3mZFQ1DvP6otukq22D8D7K9geZpWVc6kzzCQHcBUJiFviI5QBznL5vhghrDfg2U7dLeEF7uamlaZwK6U6gRuAf6iEuVpWrVJ5BP84PAP3MBumES8EdpCbZwqjV/3eQwCXlP3r2tVoVIt9j8Dfg93e0dNW1IyVoa/O/R3vDX0Fl31XeSLeZZHlhPyhjgVz5HOF3Ec0f3rWtWYc2BXSt0K9IvI7vPku18ptUsptSsWi831tJq2ICzH4idHf8Kr/a+yMrKSgBnAcixWRlcC0DOcQQTSBZvWaIAmvZmGVgUq0WLfAfyqUuoY8CTwAaXUdydmEpFvish2Edne2tpagdNq2vxyxOGfj/0zL55+kfZQOxFfhIJTwGf6aA+1U7QdjsRShP0mectmbWsYpdRiV1vT5h7YReS/iEiniHQBdwE/E5Ffn3PNNG0RiQi/6PkFO3t2UuerozHQCECqkCrvmNSfzBPPWAQ8Jh7ToLNRLyOgVQc9jl3TprC7bzdPH38aU5m0hdrK6WkrTb2/nuZAs3vhNF8ERvvXdWDXqkNFA7uIPCsit1ayTE1baAeGDvDTd35KrphjRWTFuNcyxQyr61ZjGia98Sy27ZAtOjSGfLRF9YVTrTroFrumjXFy5CQ/PPxDhnJDdNV3jeszd8Qd9LUssgwR4Ugsjd9rki24G2uYhu5f16qD3vO0hu3fuGlS2qYDk+eI6XxT55uYdzgMP3+Xou/uD7K+YT2GGt/uafn8YwyuVGTfepqXUiFia64j9OufpFB06GzS3TBa9dAt9ho1VfCaKl3nmz59bFraD7+4TOErwt3/8WlMY/yyu22/+1XeXqlYc0ZYNgSxYCMKePf//F2iAQ8rdP+6VkV0i1276OU98IvNCtuA974uhAvjX+/P9BPrMlgVE644LCigP9SAv1gg5/VTF/DSUa/717XqoQO7Ni/SfjjZCqea3IA51p79f11+HNs2fb/0fOYbmzfnc4P7DXuFuuz4YwayA4wURtg0JFx9UMpfcWPBBtqycWKhRrpbw/g9emMNrXrowK5VTLaY5Uj8CAeGDrDvKjcENiWF4IQW8MtnXi4/vnTCawuVb2zeYB7WnhFaR8bnH84NM5wb5obOG1i//x8wxE3PmT6SvjDd8VPsa1nD1ia9PoxWXXRg1+bEMuFUE5xoU/zo1a8wkB0gZ+d47zGHVQMQyY3P7wBW4/ry82vf+scpL/TMd77z5U3kE/Rn+tmxYge3rrmVw/J/l1/vDzYggM8pYhmm7l/Xqo4SkQU/6fbt22XXrl0Lft6lZv/GTQzUQWbM8iRrfvyjSfmO/sqvTkqbaz7HgDONilPNYBmKwY99gKgvSlOgiZDXbcHecNdXxwVOB9j55IOTylusfNPl/fvv3Etvqpdrll3DbetvI+Bx+89HL7bubt3A240ruWzgCPt+70/4/L/aRNiv20ja/FNK7RaR7efNpwN77UrkE/z563/OQHZgUc6ftbOEPCGaAk1EvJElsU5K2kpzYuQE2zu2c8eGO8ofUmM98eJx/uVgDEMprljdwP03rF2EmmoXo5kGdt3MqGFvDrxJb6qXFZEVk4bnLQS/6Z801ruWZYtZTiRPsLVtK7+2/temDOqW7fDOQJqQzySdt+lq1htraNVHB/YaZdkWr/a9isfwEPFFFrs6NS9v5zmWOMZlLZdx+/rbifqiU+Y7k8gRz1p4TYOAV/T6MFpVWjrNrYvM28Nv05PsoT3UvthVqXkFu8DR+FEuabqE2zfcTkOgYdq8pxM5kjkLKS38pS+catVIt9hrkIjwat+r5OwcYW9tdgWICJZjYTkWBbuA5VgoFH7Tj9/jx2f4LqjP3hGHbDFLtpglY2XIFrMI468fKSaXJwgiwtqGtdy+4XZagi3nPE/vcAbHgWzBYVV7mIaQ3rhaqz46sNegnlQPh+OHaQm2VPUFSxFhKDdEzs5h2RYFp4CIlAOu1/DiNbz4TB9ew4sgJK0ksWwMy7EAMJVJwBMgYAbKQR8YF8BHPxQCngAhT4jWUCsrIiuo99ejlKL8T024Lz02lMGGxg10hDvO+36OxNIEvAY5y2FNm95YQ6tOOrDXoDdibzCcG+aSpksWuyrTcsThWOIYftNP1BelLlJHg7+BOn8dYU+YsNe9Bb3B8nMHh0Q+wUh+hEQ+QTwfZyA7QCwbI22ly0EfIOQJEfKG6KrrYnlkOc3BZpoDzTQHm6n318/LRd0zIzkGUnn8XgPb0f3rWvXSgb3GJPIJXo+9TtQXrdoRKY44HI0fpd5fz61rb2Vb67YZj9qp89XBhOuWjjikrTTxfJyRvDs9tDnYTFOgCZ+5cHuM7jo2zEAqT0vETzRo6P51rWrpwF5j9g3soz/TT1dd12JXZUq2Y3M0cZTmQDMfWfcRtrRumXOZhjKI+qLuSJWpB6vMu+F0gVeODRENeMkUbFY0BmmN+BenMpp2HtXZ5NOmZNkWu/t3YypzQVuqM1V0ihyOH6Yt1Mbtl9xekaBeLXYdH+Z0IkdHXYCsVWRdawRDb6yhVSndYq8hB4cP0pPsGbcHZ7WwbIsjiSN0Rjq5bcNtrG1YOrMxkzmLF48OEvSaGAoMpVihN67WqticW+xKqZVKqZ8rpfYrpfYppT5TiYpp44kIr/W/RraYJeKtrglJBbvA4fhhVtet5q6Ndy2poA7w6ok4PcMZltcHSOaLRANe3b+uVbVKtNiLwH8WkVeVUlFgt1LqaRF5qwJlayW9qV4ODh+kOdBcVUPs8sU8RxNHWde4jjs23MHyyPLFrlJFZQs2Lx4ZxGMY+L0mfck8zWGf3lhDq2pzbrGLyGkRebX0OAnsB1ac+yjtQr0Re4Ph/DBNwabFrkpZtpjlaOIoG5s28rGNH1tyQR3g9Z44xwfTLG9wA3k6X6S7JYzX1JentOpV0T52pVQXcDnw0hSv3Q/cD7Bq1apKnnbJGymMuEMcvVFMNbvFvmzHBgUGxpxb/CJCupjmZPIkm1s2c/uG22kONs+pzGpUKDq8cGQQBwj5PDiOO7lqpd5YQ6tyFQvsSqkI8L+B/ygiIxNfF5FvAt8Ed9neSp33YrB3YC99mT5W162e9Jrt2OTtfHl6vmVbZx+XZm8C5THvjjiAO71eEBQK0zAxlYnH8JQ/OGyxKTrF8v3odPzRWaMew8O21m3cvuF26v318/r+F8veUwmOxlIsL3W7DGcK1Ae8OrBrVa8igV0p5cUN6k+IyN9WokzNZTkWr/W9hqlM/Ob4cdO2Y3Ng6AARX6Q8PT/oDdLiaaHeX0+dv46IN0LIGyLkCaGUIm/nKdgF8naevJ0nZ+VIF9NkrSyZYoa8nQfcJXlHjwt7wwQ8pSn9ozePn3UN62p2rZrzsR3hhSOD5IsO0YAXEaEvmefq7iZW68CuVbk5B3blfq//FrBfRL489yppYx0aPsSJ5AlaQ62TXksUEjQFm7ht/W20h9rLgdhrzn5hqqJTBNwW+cVs/+kRDvUlWVZqrcezFhG/yXvWNuvx61rVq8QVoB3A3cAHlFJ7Srd/XYFyL3pjhzhGvZOnXMbzcdpD7byr9V0siyyj3l8/p6AObkC/2IO64wgvHh0kXbCpD7qt9dPxHBvao2zsqFvs6mnaec35L1hEfglTrIeqzdnp9GkODk09xFFEyBfzbGraVLVrxtSqowMp9p8eoS3qRylFImsR8pm8Z20Lpm6tazVAR4Qq9kbsDYZyQ1MOcUxZKSK+CF31XQtfsSVMxO1bT2QtmsPusg2nE1nWtUe4bLlurWu1QQf2KpUsJNkT20PEF5lyiONwbpimQBMroysXoXZL18mhLG/2JmiJuK31ZM7CZxq8Z20LHj12XasR+je1Su0b3Edfum/KdWFGx5FvbNpYlYuB1bKX3hlkKF0or9x4OpFjTWuELSuW5pBObWlaElfJHHHcoXvF3Lj7bDF7dlhfKS1VSJG20ngMDw3+BsK+MGFPmJDXHdZXHh7oDeE13AuRIkLBKZC20qQLadLFNKlCikwxQ6qQYqQwwkhhhKg3Wh5iOLqRxGh5EV9k3HZvlm2RttKkLLc+Y2/JQpITyRPlreImytk5/KafNfVrFvTnvNSdSeR47cQwjSEfhqFI54sYCt6zthmfR7eBtNpRs4H9lTOv8GbsTVKWG2CLTtGdUOPYFKV49rnY5ck44E7U8SgPgoybwDO6FO7Y7dpGg/JIYYSMlRm3P2fBLowv0/BQdIrjJgB5TS8+w1cuN+wNE/VFywF9dLu40fuxx/pM37TdLPFcnEZ/45QTlrTZe+XYIP3JPJd0uCOQTiWydLeE2bpy+s2tNa0a1WxgD3vDHE8eJ1fMuUP0lDtMz+/1Yxpm+bmpzPNOoRcRbLHLQdtyrPKOPUWnOG5fznp/vRv8Te85p/c74pQD9uiEoGQhycnkSTyGB5/hw2t6iXqjeAPuB8BMdxlKFBJc1nIZEV91rfJYy4bSBV45NkxdwIvHMMgUiojAjrUtBLyzW8ZB0xZLzQb2S5svZWPTRoZzw3MuSylV/iCoFEMZ+D1+/FR2lx3LtjCVueSWxl1srxwb4kwix7o298PyVDzH6uYQl69qXOSaadqFq8nAvn/jJgC2lp47wM4nH5zRsTfc9dVxV4ynO3am+eajzHPli+fj1Pvr6a7vnrIu2oUbyVm8VNpIw2sa5CwbWxyuXdtC0Kdb61rtUSILvx7X9u3bZdeuXbM6djSoA4yt+UyC+8SAOd2xM803H2WeL9+h4UNsbtnMJzd/sqrWZZ9OtmBTKDoow53FZiiFKu1CxITnIoJlC5bjULSFou1gOaV728GyheIUr9vO2deKpcd5y0Yphd9j4PUY+EwDn0fhNY3yze9x74/GUvxgTy/dLWH8HpOjsRTt9QH+4wc3EPHXZNtHW6KUUrtFZPv58i2Z39qZjFmYLs/E9Jnmm48yz5XPdmxssdnQuKEmgvrBviR/88pJMoUi4AZwBYxWffQ9jKaJgCOC7bj3jgiOIzgCdvlx6bnjXroe+1OQMQ9GzzFdHlOBaajyTFI30Jvkizb5osO1a5p1UNdqlv7NrSEjhRHqfHU10Q1zbCDN9145ycmhDC0RP1IKyAIgZ5f/lTFp4AZboxR0vcooPzaUwhh9TalyS382H3Aigu1I6cPC/dAIli6Qnk7kWNEYZHtX9WxoomkXSgf2GhLPx1lVt4pl4WWLXZVzOhXP8uQrJzgxlGFDW6TqZmwqpfCYatIvv2U7ZAs2797STH1wboupadpiqq6/uDlw5pBnYvpM881HmdPlKwJ5O8/Gpo0zHha5GGLJPH/98gkO96dY11p9Qf1cTidydNQHuEq31rUaVzt/dSWbDuyflDbTUTE7n3xwykA68diZ5puPMqfL9w/fuZeQJ0RXXdekOlSLRMbir18+wf7TI6xrjdTUbM2i7ZDMF7m6u4mmsF6mQattNTcqZqy/PvDXFRnHXgtOJk/SGGjkM1d85uwyAw9NsX7JQ4kp0uY/X+q/DPLEi8d55dgQ3S1hQj4Pv/PcVZOGbX5lxyuTjl2sfGPzvuhs5EX7Mn7d8zSt/+3klHln/PPRtHky01ExtdOkusilrTSXNF5y7qA+VfoC5MuJl7/94p3sOj7E6qapgzq4v2y/89xV49IWK9/YvHnxsMdZzxrjFK1qZJoAPsOfj6ZVAX3xtAZki1l8hq8qF/0qiMkP7B0ME2VFQ4hIwP2VqtQwUNsRLNvhjDSRkQBpAjgoghQIUCCo8uQsG4+p3NEyMzwvgBIoYvC6rCUnPq423z7ne9W0WqEDew2I5+M0BBqqblMNWxQ/cd7NGZr418ZL/P0FjCSxHaFgO5x0WkkSIkmQtATIECAjftIEeOt0AkO5k4r+pvj+acvqjWcp2g62CN8s3kKQPAEsTGVji4mFiY3B/tMj5XHsCviK/WuIuMMlVxr9LFNDc/hpaFr1qEhgV0rdDDwKmMBfiMiXKlGu5hrJj/DuZe8m6pu87+licUTxj85VHHc6+KC5m/VG76Q8IvCOdBCjgZQESREkJcFywPaZBv/bvqGcP6AKhMgRVjmWMcQnrllN2O8h5DMJH/glIZUjRB4DIYePLD5y4iP73j8lX7TJFhyyh067r4mfgnjw4BBWeUxsPnr5Cjymgac0Mclz6AAew8aDzVp1aiF/fJo2r+Yc2JVSJvB14ENAD/CKUupHIvLWXMvW3EW/lFKsa1w35ev7nNUkCY5PPDp49rGzcfrC55AvJg0cdlZwnfkmm41jU47kOSrL+Yl9LQABlSdKlqjK8rGrVxHxe4n4PUQP7CSqMoTJ4VX2+EIuGbPJiNE37qUQefeBAsZugmG+Ov372DJh/L+pf0W1pWnOo2KUUtcCD4nIh0vP/wuAiPzxdMfoUTEzF8vEEIR/v+3f0xpqHfda3x+u5n8Vbyw/F2D/JQ9MKmPT249NmlY/13yGEq5SB3iP+daUo05EhKad/xVQfNx8Bt9o0F6kUTvTjl6Zr7yaNg9mOiqmEoH9duBmEflU6fndwDUi8h8m5LsfuB9g1apVVx4/fnxO54WLI7AfHj7MpS2Xct/m+yZNn/+nfWf4/q6TXNIeLa95spDONZ0/lsxTKNrc/961bGivni4kTatlCznccaq/7kmfFiLyTRHZLiLbW1tbpzhEm8gWdzeoqRb9yhSK7Do2RMjnwWMaKKUW/DYdR4T+ZI4tnQ2sb9ObgWjaQqtEYO8Bxu7h1gnoK1EVMJIvLfpVN3nRr729I/QOZ2mvq+xGHpUQS+ZpCvu4fn1LTaxCqWlLTSUC+yvAeqVUt1LKB9wF/KgC5V704vk4raFWlkeWj0u3HeHldwaxBUK+6hqxajvCQCrPtpUNdLeEF7s6mnZRmnNUEJGiUuo/AP+EO9zxL0Vk35xrdpETEXLF3JSLfh2JpTgaS9Merb7Wen8yR2vEz/XrW3VrXdMWSUWaeyLyU+CnlShLc6WtNCFvaMq11189PsxIzqKzMTjFkYun6DgMpQvcfFkHK5tCi10dTbto6bViqlQ8H6cp0MSq6Kpx6f3JHG/0JGgM+aquRXwmkaO9LsB16/XFcU1bTNXVQXuRERFssbEdd/TL6H3RKZIoJLh62dUEPIFxx+w5ESeWyrOhykabFG2HRNbivRta6agPnP8ATdPmTc0G9tf6X+P1/tfJFDOLXZULpkojRAXBVCamYeJRnvK9x/CwOrqajU3jZ4NmCzavHBsi4DWqbgOLU4kcyxuCXLu2ZbGromkXvZoN7B7lYceKHYtdjQumlMJn+Ah4AvhNP37TT8ATwGf6CJiBcc+9xvhFtfaeSnAqnmV5Q3X1rReKDul8kZsubae1Ci/oatrFpmYD+5bWLWxp3bLY1VgwjiO88s4QRUeqbojjqXiWFY1Brl3bvNhV0TQNffG0ZhwdSHE4lqItWl3913nLJmvZ7FjbQkNIbymnadVAB/Yasft4nJGsRWNo5muez4btCLYz8/WDeuJZVjWHuHqN3gBa06pFdX2n16YUS+Z5oyc+aYijiHA4lgKBkN9D2GcS8nlmvIm0OwnKIZUrksoXyVo2Srnpfo9Ja8RPNOCZdlhltmBTdITr1rVQF5jfDxxN02ZOB/Ya8PrJOP3J/KQFtVL5Il7TYE1LmMF0gXS+SH8yT9FxMJQi6DXLG1UEvSa2COm8XQrkFkVHCHhNIn4PnY1B1rSEWd4QJF2wee3EML3xLCeHM9QHvbRG/Pi942fA9sYzdDeHubpbt9Y1rZrowF7lclZpiKPHwDthiONwxqI57OO33rsWgIFUnljSvZ1J5DgxnCGZK3ImkSNXdDAUhP0eon4Pm5ZHWdkYYll9kI76AM1hH8aYpX/fu6GVI7EUb/YmeLMnwbGhDCJCc9hPU9hHzrIRgevXt1TdxVxNu9jpv8gqt+9Ugp7hDMvqJw9xTOUt3r2mmUCpJd3ZGKKz8exUftsRhtIFN9in8vhMg+UNAdrrAuVjpuPzGGxaVsemZXV8+LIO9p8e4fWTcY7EUhzoS2IVHd7VWc8Vqxsr+4Y1TZszHdirmOMIL78zhGULYf/4/6qcZeM1DdadYwaqaShao/45jy2vD3p595pmruluojeeZd+pEfb2Jnj/xrbzfkBomrbwdGCvYkcH0hzuT9E2RWCOZywaQz7WLODSuEqp8reCD1/WsWDn1TTtwujhjlXstRPDJDIWTeHJ48PjGYvuljCNU7ymadrFTQf2KjWYyvP6yTgNU6ziWHQcBNF7iWqaNqWa7YopFB2UAo9x7v0350JEsGxBJm/hOu9eO+EOcZyqDz2RsWgIeVnTqnco0jRtspoN7M8dHuAXh2LueG2fSah8cyfo+D0mfo+B32PgK938HrN0b2A7QtayyRbscfeZgthM1xUAAAnfSURBVE0yZzGStUjmihRsZ1Hen2U7/P/t3X2MHHUdx/H3d2Z37669tld6LRzQlrYU0oomkhMxJDwEJIQo/YcYTFBUIgGN/mGMT/xD9A8TjZoQSbB/GMX4gBojjdFEUAhKKHLKoySQghWraCteS8s97M7M1z9mrlyve7dz3cfZfl7Jdmd2f7v7/Xb3vvvbmd/Mr1JniCOkwxy3rV/J2XVGyoiIFLawb1s/zB/3HeL1N6vER9PD4KMkIXFn7sS4TvpPGKQjRNJLQBgY7k4UO7UkIYrTPvncY0IzyqFRCgNKQXcmszCDjWtPnoXI3ZmNYnaevfqEceciInOaKuxm9nXg/UAVeBn4qLsfbkVgjWxat4LN61YyPFBdsp27kzjHC//cuVDMjFJglMOAUmgEPTYb0WKOzkYMD5TYMtpbE22ISO9odufpg8BF7v4O4CXgi82H1FpmaU+9UgpYUSmxarDMyIoKa4bKrBxIN9sUpagDTL5Z5YyVFTav05yiIlJfU4Xd3X/r7lG2uhc4t/mQZCnHZiN2jK3WgUEisqhWbmP/GHD/Ynea2W3AbQCbNm1arFk+d60B4EPZagLcfdmTuR766cfedcK32WKPzduuHc+5WLuZWsxAKWBbj813KiK9pWGP3cweMrPn61x2zWtzJxABP1zsedx9t7uPu/v4+vVNzGKfFfX5AtJi2MjCgrnYY/O2a8dzLtVucqrKSIePNhWR4mnYY3f3a5a638xuAd4HXO3unR/wncmzTWmxNvUKad7Ht/o5l2p3eKrGu7eeoZmKRGRJzY6KuQ74PHCFu0+1JiSpZ9bTiSx0tKmINNLsqJhvA6uAB83saTO7twUxSR37/czsaFNtXxeRpTXVY3f381sVSLPyHB+aUP+bbOFj87Zrx3Mu1u4VH2NszRBjq3trMmsR6T3FOwnYXUdOuinvqJi7L3uybiFd+Ni87drxnPXaRW784vyvsmNMR5uKSGPWjf2d4+PjPjEx0fTz3Pf4fl4/tvSRp/3gjekak1NVPnnV+WzXNnaR05aZ/dndxxu1K16P/TQ0OVVldHiATTraVERyUGEvgGOzMTvGVjNQ0tGmItKYCnuPm67FDJRM514XkdxU2Hvc4alqOrephjmKSE4q7D3uyHSNreuHWTNU7nYoIlIQKuw9LIoTHLjwLI2EEZH8VNh72OHpGiNDZbbopF8isgwq7D1scqrK2SNDnKWjTUVkGVTYe1TiTjVKdLSpiCybCnuPOjYTsWqwxDYNcxSRZWrlDEp9w92JEmemFlONEkphQCkwSqFRCgLCDvSgJ6eqjK4aYNMZKuwisjyFLez7Dh7l5YPHeHM2JgyMIIDQjCAwwmwC67nluftswaTVUZwwXYuZqSXM1GJmophanABGKTAGyyGV0JipxdQSJ4oTosRxh7kz7BhkRf/E4p9eG+Xs9jA48fXdncQhShKi2ImT9Mtkbv2NmYjLt6+nUtKPKhFZnsIW9gOT0wyUAswgTpw4gShx4ihJ191J5l8njpnhOEZ6HQYBg6WAoXLIyIoyo8PDnLl6kLUry4ysqLB2RYWVAyHVKDle/KdrMdPV+PjyVDXmjekaR2cjpmYjanFamKerCVGSUIvTgh3HDpZ+ETjpN0MQpMW/FASE4dyyMVQJ2b5ymLedc/I0gCIijRS2sF954QauvHADcZLuZKzGCbW5S+QnrscJ1cjnLSeUw+B4AR8ZKrNmqEwpbK53nCTObPRW7z/9Akh/FcxmXwSzUUIlDBgoBwyWQwZLIYPlgIG563J6XQmDk35hiIjkUdjCPifMerhDdP8EWcFcLJXuxyIipy9twBUR6TMtKexm9lkzczMbbcXziYjIqWu6sJvZRuC9wKvNhyMiIs1qRY/9W8DneGsEoIiIdFFThd3MbgD+6e7P5Gh7m5lNmNnEoUOHmnlZERFZQsNRMWb2EHBWnbvuBL4EXJvnhdx9N7Ab0smslxGjiIgsQ8PC7u7X1LvdzN4ObAGeycZbnwv8xcwucfd/tzRKERHJ7ZTHsbv7c8CGuXUz2w+Mu/t/WxCXiIicInNvzVaR5RR2MzsE/L0FLzsKnE5fJMq3f51OuYLyPVWb3X19o0YtK+zdYGYT7j7e7Tg6Rfn2r9MpV1C+7aYjT0VE+owKu4hInyl6Yd/d7QA6TPn2r9MpV1C+bVXobewiInKyovfYRURkARV2EZE+U4jCbmbXmdmLZrbPzL5Q5/4BM7s/u/8JMzuv81G2To58P2NmL5jZs2b2OzPb3I04W6FRrvPa3ZidGrrQQ+Ty5GtmH8je37+a2Y86HWMr5fgsbzKzh83sqezzfH034mwFM/uumR00s+cXud/M7O7s/+JZM7u4bcG4e09fgBB4GdgKVIBngJ0L2nwCuDdbvgm4v9txtznfq4AV2fIdRc03T65Zu1XAo8Be0oPguh57G9/b7cBTwNpsfUO3425zvruBO7LlncD+bsfdRL6XAxcDzy9y//XAb0inPr4UeKJdsRShx34JsM/dX3H3KvATYNeCNruA72fLPweutuJOGNowX3d/2N2nstW9pOfpKaI87y3AV4CvATOdDK4N8uT7ceAed58EcPeDHY6xlfLk68DqbHkN8K8OxtdS7v4o8L8lmuwC7vPUXmDEzMbaEUsRCvs5wD/mrR/Ibqvbxt0j4AiwriPRtV6efOe7lbQXUEQNczWzdwIb3f1XnQysTfK8txcAF5jZY2a218yu61h0rZcn37uAm83sAPBr4FOdCa0rlvu3fcqKMJl1vZ73wjGaedoURe5czOxmYBy4oq0Rtc+SuZpZQDqRy0c6FVCb5XlvS6SbY64k/SX2BzO7yN0Ptzm2dsiT7weB77n7N8zsPcAPsnyT9ofXcR2rU0XosR8ANs5bP5eTf64db2NmJdKfdEv9JOplefLFzK4hPSf+De4+26HYWq1RrquAi4BHspPMXQrsKfAO1Lyf5QfcvebufwNeJC30RZQn31uBnwK4++PAIOkJs/pRrr/tVihCYX8S2G5mW8ysQrpzdM+CNnuAW7LlG4Hfe7a3ooAa5pttnvgOaVEv8jbYJXN19yPuPuru57n7eaT7E25w94nuhNu0PJ/lX5LuHCebHP4C4JWORtk6efJ9FbgawMx2kBb2fp1ibQ/w4Wx0zKXAEXd/rS2v1O09yTn3Nl8PvES6h/3O7LYvk/6RQ/ph+BmwD/gTsLXbMbc534eA/wBPZ5c93Y65XbkuaPsIBR4Vk/O9NeCbwAvAc8BN3Y65zfnuBB4jHTHzNHBtt2NuItcfA68BNdLe+a3A7cDt897be7L/i+fa+VnWKQVERPpMETbFiIjIMqiwi4j0GRV2EZE+o8IuItJnVNhFRPqMCruISJ9RYRcR6TP/Bxe0fXQwC7tMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.title(\"DRIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - rf_dr_effect)**2)))\n",
    "plot_separate(X, X_pre, rf_dr_effect)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 302,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEhAxSiXz8ZkKwAAAAAYkZE4AAAAAAkQcQAAAAASIOIAAAAAJEDEAQAAAEiAiAMAAACQABEHAAAAIAEiDgAAAEACRBwAAACABIg4AAAAAAkQcQAAAAAS8F9PQuQobHwDPwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1440x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import shap\n",
    "import pandas as pd\n",
    "\n",
    "Xdf = pd.DataFrame(X, columns=X_data.columns)\n",
    "# explain the model's predictions using SHAP values\n",
    "explainer = shap.TreeExplainer(rf_dr_cate.effect_model)\n",
    "shap_values = explainer.shap_values(Xdf)\n",
    "\n",
    "# visualize the first prediction's explanation (use matplotlib=True to avoid Javascript)\n",
    "shap.force_plot(explainer.expected_value, shap_values[0,:], Xdf.iloc[0,:], matplotlib=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 303,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x396 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "shap.summary_plot(shap_values, Xdf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 304,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x396 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "shap.summary_plot(shap_values, Xdf, plot_type='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Lasso CATE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 305,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<dr_iv.IntentToTreatDRIV at 0x22d3040d898>"
      ]
     },
     "execution_count": 305,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lasso_driv_model_effect = lambda: WeightWrapper(Pipeline([('bias', PolynomialFeatures(degree=1, include_bias=True)),\n",
    "                                      ('lasso',  SelectiveLasso(np.arange(1, X.shape[1]+1),\n",
    "                                                                LassoCV(cv=5, n_jobs=-1, fit_intercept=False)))]))\n",
    "rf_dr_cate.refit_final(lasso_driv_model_effect())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 306,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can also see how it compares to the true CATE at each target point and calculate MSE\n",
    "dr_effect = rf_dr_cate.effect(X)\n",
    "plt.title(\"DMLIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - dr_effect)**2)))\n",
    "plot_separate(X, X_pre, dr_effect)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 307,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ATE Estimate: 4.855\n"
     ]
    }
   ],
   "source": [
    "print(\"ATE Estimate: {:.3f}\".format(np.mean(dr_effect)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 308,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th> <td>   0.000</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.000</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>     nan</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 04 Jun 2019</td> <th>  Prob (F-statistic):</th>  <td>   nan</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>08:49:17</td>     <th>  Log-Likelihood:    </th> <td> -43564.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td> 10000</td>      <th>  AIC:               </th> <td>8.713e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>  9999</td>      <th>  BIC:               </th> <td>8.714e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     0</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>    3.9558</td> <td>    0.189</td> <td>   20.965</td> <td> 0.000</td> <td>    3.586</td> <td>    4.326</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>301.856</td> <th>  Durbin-Watson:     </th> <td>   2.023</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td> 188.061</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td>-0.200</td>  <th>  Prob(JB):          </th> <td>1.46e-41</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 2.460</td>  <th>  Cond. No.          </th> <td>    1.00</td>\n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.000\n",
       "Model:                            OLS   Adj. R-squared:                  0.000\n",
       "Method:                 Least Squares   F-statistic:                       nan\n",
       "Date:                Tue, 04 Jun 2019   Prob (F-statistic):                nan\n",
       "Time:                        08:49:17   Log-Likelihood:                -43564.\n",
       "No. Observations:               10000   AIC:                         8.713e+04\n",
       "Df Residuals:                    9999   BIC:                         8.714e+04\n",
       "Df Model:                           0                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const          3.9558      0.189     20.965      0.000       3.586       4.326\n",
       "==============================================================================\n",
       "Omnibus:                      301.856   Durbin-Watson:                   2.023\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              188.061\n",
       "Skew:                          -0.200   Prob(JB):                     1.46e-41\n",
       "Kurtosis:                       2.460   Cond. No.                         1.00\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 308,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from utilities import ConstantModel\n",
    "rf_dr_cate.refit_final(ConstantModel(), opt_reweighted=False)\n",
    "rf_dr_cate.effect_model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Using Generic DRIV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from dml_iv import DMLIV\n",
    "from dr_iv import DRIV, ProjectedDRIV\n",
    "from utilities import SubsetWrapper, StatsModelLinearRegression, ConstantModel\n",
    "\n",
    "np.random.seed(123)\n",
    "\n",
    "# For DRIV we need a model for predicting E[T*Z | X]. We use a classifier\n",
    "model_TZ_X = lambda: model_clf()\n",
    "\n",
    "# For generic DRIV we also need to provide a preliminary effect model. Here we use DMLIV\n",
    "dmliv_featurizer = lambda: PolynomialFeatures(degree=1, include_bias=True)\n",
    "dmliv_model_effect = lambda: SelectiveLasso(np.arange(1, X.shape[1]+1), LassoCV(cv=5, n_jobs=-1))\n",
    "prel_model_effect = DMLIV(model_Y_X(), model_T_X(), model_T_XZ(),\n",
    "                          dmliv_model_effect(), dmliv_featurizer(), n_splits=1)\n",
    "\n",
    "dr_cate = DRIV(model_Y_X(), model_T_X(), model_Z_X(), # same as in DMLATEIV\n",
    "                        prel_model_effect, # preliminary model for CATE, must support fit(y, T, X, Z) and effect(X)\n",
    "                        model_TZ_X(), # model for E[T * Z | X]\n",
    "                        ConstantModel(), # model for final stage of fitting theta(X)\n",
    "                        cov_clip=.0001, # covariance clipping to avoid large values in final regression from weak instruments\n",
    "                        n_splits=10, # number of splits to use for cross-fitting\n",
    "                        binary_instrument=True, # a flag whether to stratify cross-fitting by instrument\n",
    "                        binary_treatment=True, # a flag whether to stratify cross-fitting by treatment\n",
    "                        opt_reweighted=False\n",
    "                       )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 23.6 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<dr_iv.DRIV at 0x28443dfa940>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%time\n",
    "dr_cate.fit(y, T, X, Z, store_final=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th>  <td>   0.000</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th>  <td>   0.000</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th>  <td>     nan</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Mon, 03 Jun 2019</td> <th>  Prob (F-statistic):</th>   <td>   nan</td>   \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>17:28:23</td>     <th>  Log-Likelihood:    </th> <td>-2.6423e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td> 50000</td>      <th>  AIC:               </th>  <td>5.285e+05</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td> 49999</td>      <th>  BIC:               </th>  <td>5.285e+05</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     0</td>      <th>                     </th>      <td> </td>     \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>      <td> </td>     \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>    6.4038</td> <td>    0.213</td> <td>   29.995</td> <td> 0.000</td> <td>    5.985</td> <td>    6.822</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>2300.170</td> <th>  Durbin-Watson:     </th> <td>   1.995</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th>  <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td> 983.263</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>           <td>-0.085</td>  <th>  Prob(JB):          </th> <td>3.07e-214</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>       <td> 2.334</td>  <th>  Cond. No.          </th> <td>    1.00</td> \n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.000\n",
       "Model:                            OLS   Adj. R-squared:                  0.000\n",
       "Method:                 Least Squares   F-statistic:                       nan\n",
       "Date:                Mon, 03 Jun 2019   Prob (F-statistic):                nan\n",
       "Time:                        17:28:23   Log-Likelihood:            -2.6423e+05\n",
       "No. Observations:               50000   AIC:                         5.285e+05\n",
       "Df Residuals:                   49999   BIC:                         5.285e+05\n",
       "Df Model:                           0                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const          6.4038      0.213     29.995      0.000       5.985       6.822\n",
       "==============================================================================\n",
       "Omnibus:                     2300.170   Durbin-Watson:                   1.995\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              983.263\n",
       "Skew:                          -0.085   Prob(JB):                    3.07e-214\n",
       "Kurtosis:                       2.334   Cond. No.                         1.00\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dr_cate.effect_model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Deep CATE Models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 309,
   "metadata": {},
   "outputs": [],
   "source": [
    "from deep_dr_iv import DeepIntentToTreatDRIV\n",
    "import keras\n",
    "treatment_model = lambda: keras.Sequential([keras.layers.Dense(100, activation='relu'),\n",
    "                                            keras.layers.Dropout(0.17),\n",
    "                                            keras.layers.Dense(100, activation='relu'),\n",
    "                                            keras.layers.Dropout(0.17),\n",
    "                                            keras.layers.Dense(100, activation='relu', name='final'),\n",
    "                                            keras.layers.Dropout(0.17),\n",
    "                                            keras.layers.Dense(1)])\n",
    "keras_fit_options = { \"epochs\": 100,\n",
    "                      \"batch_size\": 32,\n",
    "                      \"validation_split\": 0.1,\n",
    "                      \"callbacks\": [keras.callbacks.EarlyStopping(patience=10, restore_best_weights=True)],\n",
    "                      \"verbose\": 0}\n",
    "dr_cate = DeepIntentToTreatDRIV(model_Y_X(), model_T_XZ(),\n",
    "                                treatment_model(),\n",
    "                                training_options=keras_fit_options,\n",
    "                                cov_clip=0.0001,\n",
    "                                opt_reweighted=False,\n",
    "                                n_splits=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 5999 samples, validate on 667 samples\n",
      "Epoch 1/100\n",
      "5999/5999 [==============================] - ETA: 5:26 - loss: 299.892 - ETA: 26s - loss: 354.182 - ETA: 13s - loss: 351.33 - ETA: 8s - loss: 341.6582 - ETA: 6s - loss: 344.994 - ETA: 4s - loss: 339.863 - ETA: 3s - loss: 332.279 - ETA: 2s - loss: 325.892 - ETA: 2s - loss: 321.658 - ETA: 1s - loss: 317.545 - ETA: 1s - loss: 316.145 - ETA: 1s - loss: 315.354 - ETA: 0s - loss: 311.800 - ETA: 0s - loss: 310.132 - ETA: 0s - loss: 310.833 - ETA: 0s - loss: 309.908 - ETA: 0s - loss: 310.722 - ETA: 0s - loss: 310.140 - 3s 515us/step - loss: 310.8258 - val_loss: 293.7797\n",
      "Epoch 2/100\n",
      "5999/5999 [==============================] - ETA: 0s - loss: 290.874 - ETA: 0s - loss: 281.009 - ETA: 0s - loss: 275.469 - ETA: 0s - loss: 282.807 - ETA: 0s - loss: 291.988 - ETA: 0s - loss: 291.367 - ETA: 0s - loss: 296.793 - ETA: 0s - loss: 297.297 - ETA: 0s - loss: 295.330 - ETA: 0s - loss: 294.633 - ETA: 0s - loss: 292.609 - ETA: 0s - loss: 293.316 - ETA: 0s - loss: 293.987 - ETA: 0s - loss: 296.553 - ETA: 0s - loss: 295.298 - ETA: 0s - loss: 295.750 - ETA: 0s - loss: 297.249 - ETA: 0s - loss: 296.779 - ETA: 0s - loss: 297.636 - 1s 165us/step - loss: 297.9532 - val_loss: 290.9141\n",
      "Epoch 3/100\n",
      "5999/5999 [==============================] - ETA: 0s - loss: 353.733 - ETA: 0s - loss: 317.860 - ETA: 0s - loss: 313.334 - ETA: 0s - loss: 310.712 - ETA: 0s - loss: 298.963 - ETA: 0s - loss: 297.131 - ETA: 0s - loss: 292.671 - ETA: 0s - loss: 292.006 - ETA: 0s - loss: 295.863 - ETA: 0s - loss: 296.595 - ETA: 0s - loss: 300.420 - ETA: 0s - loss: 299.434 - ETA: 0s - loss: 297.676 - ETA: 0s - loss: 298.048 - ETA: 0s - loss: 297.034 - ETA: 0s - loss: 296.767 - ETA: 0s - loss: 296.006 - 1s 154us/step - loss: 296.3891 - val_loss: 290.1784\n",
      "Epoch 4/100\n",
      "5999/5999 [==============================] - ETA: 1s - loss: 327.018 - ETA: 0s - loss: 328.476 - ETA: 0s - loss: 308.882 - ETA: 0s - loss: 308.575 - ETA: 0s - loss: 301.019 - ETA: 0s - loss: 299.633 - ETA: 0s - loss: 297.654 - ETA: 0s - loss: 295.637 - ETA: 0s - loss: 296.047 - ETA: 0s - loss: 297.145 - ETA: 0s - loss: 296.706 - ETA: 0s - loss: 296.498 - ETA: 0s - loss: 297.652 - ETA: 0s - loss: 296.861 - ETA: 0s - loss: 296.012 - ETA: 0s - loss: 297.014 - 1s 146us/step - loss: 296.0292 - val_loss: 290.3011\n",
      "Epoch 5/100\n",
      "5999/5999 [==============================] - ETA: 0s - loss: 282.562 - ETA: 0s - loss: 301.161 - ETA: 0s - loss: 308.285 - ETA: 0s - loss: 306.007 - ETA: 0s - loss: 307.781 - ETA: 0s - loss: 312.917 - ETA: 0s - loss: 309.830 - ETA: 0s - loss: 306.091 - ETA: 0s - loss: 300.150 - ETA: 0s - loss: 298.899 - ETA: 0s - loss: 299.332 - ETA: 0s - loss: 299.757 - ETA: 0s - loss: 298.403 - ETA: 0s - loss: 296.926 - ETA: 0s - loss: 295.965 - ETA: 0s - loss: 296.155 - ETA: 0s - loss: 294.863 - ETA: 0s - loss: 295.676 - 1s 160us/step - loss: 294.6527 - val_loss: 288.7073\n",
      "Epoch 6/100\n",
      "5999/5999 [==============================] - ETA: 0s - loss: 300.002 - ETA: 0s - loss: 291.578 - ETA: 0s - loss: 298.211 - ETA: 0s - loss: 294.710 - ETA: 0s - loss: 291.454 - ETA: 0s - loss: 287.724 - ETA: 0s - loss: 293.096 - ETA: 0s - loss: 293.177 - ETA: 0s - loss: 292.519 - ETA: 0s - loss: 299.039 - ETA: 0s - loss: 297.526 - ETA: 0s - loss: 296.196 - ETA: 0s - loss: 295.295 - ETA: 0s - loss: 293.445 - ETA: 0s - loss: 294.419 - ETA: 0s - loss: 293.598 - ETA: 0s - loss: 292.586 - ETA: 0s - loss: 294.520 - 1s 164us/step - loss: 295.6590 - val_loss: 288.9459\n",
      "Epoch 7/100\n",
      "5999/5999 [==============================] - ETA: 1s - loss: 345.764 - ETA: 0s - loss: 320.763 - ETA: 0s - loss: 300.876 - ETA: 0s - loss: 302.293 - ETA: 0s - loss: 298.457 - ETA: 0s - loss: 299.198 - ETA: 0s - loss: 301.962 - ETA: 0s - loss: 299.838 - ETA: 0s - loss: 300.588 - ETA: 0s - loss: 300.054 - ETA: 0s - loss: 299.700 - ETA: 0s - loss: 298.728 - ETA: 0s - loss: 297.597 - ETA: 0s - loss: 296.079 - ETA: 0s - loss: 295.968 - ETA: 0s - loss: 295.493 - ETA: 0s - loss: 294.529 - ETA: 0s - loss: 294.222 - 1s 160us/step - loss: 294.3245 - val_loss: 289.0797\n",
      "Epoch 8/100\n",
      "5999/5999 [==============================] - ETA: 1s - loss: 353.364 - ETA: 1s - loss: 303.334 - ETA: 1s - loss: 294.946 - ETA: 0s - loss: 293.233 - ETA: 0s - loss: 296.413 - ETA: 0s - loss: 300.306 - ETA: 0s - loss: 296.860 - ETA: 0s - loss: 294.588 - ETA: 0s - loss: 295.004 - ETA: 0s - loss: 294.760 - ETA: 0s - loss: 295.633 - ETA: 0s - loss: 295.091 - ETA: 0s - loss: 293.803 - ETA: 0s - loss: 291.994 - ETA: 0s - loss: 292.381 - ETA: 0s - loss: 291.726 - ETA: 0s - loss: 291.234 - ETA: 0s - loss: 289.898 - ETA: 0s - loss: 291.160 - ETA: 0s - loss: 292.422 - ETA: 0s - loss: 293.252 - 1s 193us/step - loss: 293.6442 - val_loss: 289.7333\n",
      "Epoch 9/100\n",
      "5999/5999 [==============================] - ETA: 0s - loss: 294.347 - ETA: 0s - loss: 296.702 - ETA: 0s - loss: 303.601 - ETA: 0s - loss: 300.730 - ETA: 0s - loss: 295.067 - ETA: 0s - loss: 293.399 - ETA: 0s - loss: 289.884 - ETA: 0s - loss: 289.587 - ETA: 0s - loss: 291.665 - ETA: 0s - loss: 290.921 - ETA: 0s - loss: 291.288 - ETA: 0s - loss: 290.224 - ETA: 0s - loss: 292.786 - ETA: 0s - loss: 292.632 - ETA: 0s - loss: 293.623 - ETA: 0s - loss: 293.338 - ETA: 0s - loss: 293.515 - 1s 156us/step - loss: 293.4677 - val_loss: 289.0583\n",
      "Epoch 10/100\n",
      "5999/5999 [==============================] - ETA: 1s - loss: 401.255 - ETA: 1s - loss: 312.943 - ETA: 1s - loss: 290.425 - ETA: 0s - loss: 285.409 - ETA: 0s - loss: 283.553 - ETA: 0s - loss: 287.505 - ETA: 0s - loss: 286.518 - ETA: 0s - loss: 286.484 - ETA: 0s - loss: 284.813 - ETA: 0s - loss: 285.207 - ETA: 0s - loss: 287.028 - ETA: 0s - loss: 289.021 - ETA: 0s - loss: 290.389 - ETA: 0s - loss: 291.404 - ETA: 0s - loss: 293.518 - ETA: 0s - loss: 294.755 - ETA: 0s - loss: 293.090 - ETA: 0s - loss: 293.332 - ETA: 0s - loss: 293.569 - ETA: 0s - loss: 294.240 - 1s 183us/step - loss: 294.0512 - val_loss: 289.0566\n",
      "Epoch 11/100\n",
      "5999/5999 [==============================] - ETA: 1s - loss: 246.502 - ETA: 0s - loss: 296.322 - ETA: 0s - loss: 302.177 - ETA: 0s - loss: 293.142 - ETA: 0s - loss: 293.730 - ETA: 0s - loss: 298.843 - ETA: 0s - loss: 300.026 - ETA: 0s - loss: 296.248 - ETA: 0s - loss: 295.922 - ETA: 0s - loss: 291.251 - ETA: 0s - loss: 291.434 - ETA: 0s - loss: 291.041 - ETA: 0s - loss: 291.294 - ETA: 0s - loss: 292.077 - ETA: 0s - loss: 291.590 - ETA: 0s - loss: 290.961 - ETA: 0s - loss: 291.803 - ETA: 0s - loss: 293.417 - 1s 158us/step - loss: 293.4186 - val_loss: 289.8541\n",
      "Epoch 12/100\n",
      "5999/5999 [==============================] - ETA: 1s - loss: 282.541 - ETA: 0s - loss: 271.517 - ETA: 0s - loss: 290.033 - ETA: 0s - loss: 293.542 - ETA: 0s - loss: 287.584 - ETA: 0s - loss: 288.115 - ETA: 0s - loss: 293.385 - ETA: 0s - loss: 295.309 - ETA: 0s - loss: 295.574 - ETA: 0s - loss: 295.015 - ETA: 0s - loss: 291.681 - ETA: 0s - loss: 290.995 - ETA: 0s - loss: 292.197 - ETA: 0s - loss: 293.252 - ETA: 0s - loss: 292.618 - ETA: 0s - loss: 292.888 - ETA: 0s - loss: 292.747 - 1s 153us/step - loss: 292.5907 - val_loss: 289.4222\n",
      "Epoch 13/100"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "dr_cate.fit(y, T, X, Z, store_final=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "dr_effect = dr_cate.effect(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.title(\"DRIV CATE: MSE {:.2}\".format(np.mean((true_fn(X_pre) - dr_effect)**2)))\n",
    "plot_separate(X, X_pre, dr_effect)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from utilities import ConstantModel\n",
    "dr_cate.refit_final(ConstantModel(), opt_reweighted=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "dr_cate.effect_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
